1. 程式人生 > >JavaScript——封裝

JavaScript——封裝

減少 運行 好處 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——封裝