javascript 闭包

1,什么是闭包?

特点:

//函数嵌套函数 内部函数可以引用外部函数的参数或变量

function one(){

   var a=5;

   function two(){

         alert(a);
   }
    return two;
}

var three=one();
three();//5

2.有什么好处 ?用处在哪?

-------可以长期存储在内存中------避免全局变量的污染 提高性能

function one(){
   var a=1;
  return function(){
     a++;
    alert(a);
   }
}
var two=one();

two();//2
two();//3
第二种写法  即函数表达式的写法
var two =(function one(){
    var a=1;
  return function (){
     a++;
   alert(a);

  }

})();
 two();
two();

 

代码模块化

 var one=(function(){

    var a=1;

  function two(){

   a++;

  alert(a);

}
 function three(){

   a++;

   alert(a);

}

return {

  aaaa:two;

  bbbb:three;

}



})()

one.aaaa();

one.bbbb();

3.如何解决内存泄露

window.unload= function(){obj.event=null};
原文地址:https://www.cnblogs.com/bugs/p/2947803.html