20170714_js闭包变量重置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20170714_js闭包变量重置相关的知识,希望对你有一定的参考价值。

<body>
<script>
function createFunctions(){
var result = new Array();
for (var i=0; i < 10; i++){
result[i] = function(){
return i;
};
}
return result;
}
var funcs = createFunctions();
for (var i=0; i < funcs.length; i++){
console.log(funcs[i]());
}
funcs = ‘‘;
var funcs = createFunctions();
for (var i=0; i < funcs.length; i++){
console.log(funcs[i]());
}
</script>
</body>
</html>
执行到funcs=‘‘之前,匿名函数里的i都是10,执行funcs=‘‘后,匿名函数的引用被删除,不再被引用内存就会被回收,那么匿名函数里的i就被初始化了

以上是关于20170714_js闭包变量重置的主要内容,如果未能解决你的问题,请参考以下文章

闭包_1(概念)

js_闭包

前端JavaScript基础面试题01_JS基础知识(中)作用域闭包

js闭包是啥?

js 闭包 具体作用?

JS闭包的概念