1、闭包:即重用一个变量,又保护变量不被污染的一种机制。一般在此类情况下使用。
2、为什么使用闭包 : 全局变量和局部变量都具有不可兼得的优缺点。
3、
全局变量: 优: 可重用, 缺: 易被污染。
局部变量: 优: 仅函数内可用,不会被污染。缺: 不可重用。
4、何时使用: 只要即重用一个变量,又保护变量不被污染时使用。
5、
如何3 步:
1.用外层函数包裹要保护的变量和内层函数。
2.外层函数将内层函数返回到外部。
3.调用外层函数,获得内层函数的对象,保存在外部的变量中——形成了闭包。
6、闭包形成的原因: 外层函数调用后,外层函数的函数作用域(AO)对象无法释放,被内层函数引用着。
7、
闭包的缺点:比普通函数占用更多的内存。
解决:闭包不在使用时,要及时释放。将引用内层函数对象的变量赋值为 null。