闭包经典案例留存
Posted rainux.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包经典案例留存相关的知识,希望对你有一定的参考价值。
Code Is Never Die !
闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。
function createFunction()
var result = new Array();
for(var i=0; i<10; i++)
result[i] = function()
return i;
console.log('i 的值:'+ i)
return result;
调用函数:
createFunction()
createFunction()[1/2/3/...]() //代表调用第一个或第二个或第三个,结果都一样
若希望得到预期结果,需要修改原函数:
function createFunction()
var result = new Array();
for(var i=0; i<10; i++)
result[i] = (function(num)
return i;
)(i)
console.log('i 的值:'+ i)
return result;
改为立即执行函数,这样每次都会自动执行,所以result=[0,1,2,3,4,5,6,7,8,9]
以上是关于闭包经典案例留存的主要内容,如果未能解决你的问题,请参考以下文章