javascript必知必会

http://ccforward.net/2013/05/js_u_should_know.html

闭包http://kb.cnblogs.com/page/110782/  

http://www.jb51.net/article/18303.htm
function
a() { var i = 0; function b() { alert(++i); } return b; } var c = a(); c();

当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个我们通常所谓的“闭包”。

二、闭包有什么作用和效果?

简而言之,闭包的作用就是在a执行完并返回后,闭包使得Javascript的垃圾回收机制GC不会收回a所占用的资源,因为a的内部函数b的执行需要依赖a中的变量。这是对闭包作用的非常直白的描述,不专业也不严谨,但大概意思就是这样,理解闭包需要循序渐进的过程。
在上面的例子中,由于闭包的存在使得函数a返回后,a中的i始终存在,这样每次执行c(),i都是自加1后alert出i的值。

http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html

http://book.51cto.com/art/201211/367081.htm

 http://www.slideshare.net/josephj/performance-15081163

http://bbs.csdn.net/topics/340173664

原文地址:https://www.cnblogs.com/hljarmy/p/3203967.html