标签:
一般情况下,不要用闭包,除非你真正需要它。
什么是闭包?
js高级程序设计给出的定义是:有权访问另一个函数作用域中变量的函数。
怎么创建闭包呢?
function foo(){ var a=0; function bar(); } return bar; } var c=foo(); c();
全局变量c指定对函数foo的内部函数bar的引用;内部函数bar的执行需要依赖函数foo的资源;
这里就产生了一个闭包,使得a在执行完毕后并返回,不会被JavaScript垃圾回收机制GC回收。
因为这里c还在引用这bar,而bar依赖着foo,故foo在使用后,仍然存在于内存中。
标签:
原文地址:http://www.cnblogs.com/WaTa/p/5507713.html