1. 什么是闭包?
特点:
1、函数嵌套函数
2、内部函数可以引用外部函数的参数和变量
3、参数和变量不会被垃圾回收机制所收回
2.闭包有什么好处,应用在哪里?
好处:
1、希望一个变量常驻在内存当中
2、避免全局变量污染
3、可以声明私有成员
用法:
1、模块化代码
2、在循环中直接找到对应元素的索引。
3. 必要需要注意的地方?闭包有什么用?
IE下会引发内存泄漏;
【注】事实上,通过使用闭包,我们可以做很多事情。比如模拟面向对象的代码风格;更优雅,更简洁的表达出代码;在某些方面提升代码的执行效率,同时避免对命名空间的污染,最重要的是可以从一个域中取出原本访问不到的变量去使用。
闭包的写法:
function aaa(a){
var b = 5;
function bbb(){
alert(a);
alert(b);
}
return bbb;
}
var bbb = aaa(10);
// alert(bbb);
bbb();
立即执行函数的写法:
(function(){
alert("hello world");
})();
!function(){
alert("hello world");
}();