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};

 

posted @ 2013-03-07 12:27  转角遇到bug  阅读(179)  评论(0编辑  收藏  举报