什么是闭包
闭包:一个可以使用另外一个函数作用域中的变量的函数。
如下面的代码函数b就是闭包,但是这个前提是:当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个我们通常所谓的“闭包”。
意思是说b要变成闭包的话,就必须被外包所引用,即c引用:
<script type="text/javascript">
function a(){
var i=1;
function b(){
++i;
return i;
}
return b;
}
var c=a();
alert(c());
</script>
用一个专业一点的说法就是:函数调用返回后一个没有释放资源的栈区;

浙公网安备 33010602011771号