一、 闭包的定义
能访问其他函数内变量的函数,这种结构就是闭包
二、闭包的用途
1.读取函数内部的变量
2.让这些变量的值始终保持在内存中(结果缓存)
3.创建匿名自执行函数(避免全局变量的污染)
三、闭包的弊端
1.使用不当会很容易造成内存泄露
2.常驻内存,增加内存使用量
四、实际应用
接下来举一些实际工作中用到的闭包示例
1.自定义Alert弹框,该弹框只会被new一次,用的就是闭包
module.alert = (function(){
var box;
return function(text){
box = box || new Alert();
box.append('body', text);
return box.show();
}
})();
2.私有化变量
var counter = (function(){
//私有变量
var priv