JavaScript闭包是在另一个作用域中保存了一份它从上一级函数或作用域取得的变量,而这些变量不会随着上一级函数的执行完成而销毁。
function a(){
var i=0;
function b(){
alert(++i);
}
return b;
}
var c=a();
c();
当函数a的内部的函数b被函数a外的变量引用的时候,就创建了一个我们所谓的闭包。
闭包的作用:在a执行完并返回后,闭包使得JavaScript的垃圾回收机制不会收回a所占用的资源,因为a的内部函数b的执行需要依赖a中的变量。
..........