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