JavaScript——封裝
阿新 • • 發佈:2017-12-05
減少 運行 好處 src 圖片 暴露 聲明 技術分享 foo
封裝:使用對象封裝的好處是可以減少全局變量汙染的機會,講屬性,函數都隸屬一個對象。
封裝前:
<script> var name="foo"; //name是全局的,被暴露 i=1; //全局的,沒有var關鍵字聲明的變量是全局的,與位置關系不大 function show(){ //show 是全局的,被暴露 console.log("name->"+name); console.log(++i); } //i是全局的 2 show(); //3 show(); </script>
運行結果:
封裝後:
//對外只暴露bar,使用閉包封裝 var bar=function(){ var i=1; return{ name:"bar", show:function(){ console.log("name->"+this.name); console.log(++i); } }; }; var bar1=bar(); //2 bar1.show(); //3 bar1.show(); var bar2=bar(); //2,因為被封裝,且閉包,i是局部私有的 bar2.show();
運行結果:
JavaScript——封裝