封装:使用对象封装的好处是可以减少全局变量污染的机会,讲属性,函数都隶属一个对象。

封装前:

<script>

  var name="foo"; //name是全局的,被暴露
  i=1; //全局的,没有var关键字声明的变量是全局的,与位置关系不大
  function show(){ //show 是全局的,被暴露
    console.log("name->"+name);
    console.log(++i);
  }

  //i是全局的 2
  show(); 
  //3
  show();

</script>

运行结果:

JavaScript——封装

封装后:

//对外只暴露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——封装

 

相关文章:

  • 2021-07-03
  • 2021-07-07
  • 2022-02-09
  • 2021-06-17
  • 2021-11-23
  • 2021-04-14
  • 2021-07-06
  • 2022-12-23
猜你喜欢
  • 2021-10-21
  • 2021-11-04
  • 2022-12-23
  • 2022-12-23
  • 2021-08-20
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案