标签:
今天看了高程,其中有一段代码讲到闭包
function createFunctions(){ var result = new Array(); for (var i=0; i < 10; i++){ result[i] = function(){ return i; }; } return result; }
var funcs = createFunctions();
//every function outputs 10
for (var i=0; i < funcs.length; i++){
document.write(funcs[i]() + "<br />");
}
最后在得出的数组运行之后,数组中所有数字均为10,这是因为闭包中的i只会取它的最后一个值10,所以在闭包中i就为10了。
最后运行结果为
10
10
10
10
10
10
10
10
10
10
标签:
原文地址:http://www.cnblogs.com/yymblog/p/4897446.html