87,914
社区成员
发帖
与我相关
我的任务
分享
function createFunction(){
var result = new Array();
for(var i = 0;i < 10;i++){
result[i] = function(){
return i;
};
}
//i = 100;//取消注释看看
return result;
}
var tmp = createFunction();
for(var i = 0, il = tmp.length; i < il; i++)console.log(tmp[i]());//result的每个元素都是一个函数
function createFunction(){
var result = new Array();
for(var i = 0;i < 10;i++){
result[i] = function(){
return i;
}();
alert(i + ' ' + result[i]);
}
return result;
}
var tmp = createFunction();
for(var i = 0, il = tmp.length; i < il; i++)console.log(tmp[i]);//result的每个元素都是一个数字
function createFunction(){
var result = new Array();
for(var i = 0;i < 10;i++){
result[i] = function(x){
return function(){return x};
}(i);
}
//i = 100;//取消注释看看
return result;
}
var tmp = createFunction();
for(var i = 0, il = tmp.length; i < il; i++)console.log(tmp[i]());//result的每个元素都是一个函数
请着重对比一下第一块和第三块代码