首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

哪位高手能帮小弟我看看这个函数阿,为什么返回的值那么的奇怪阿

2012-05-31 
谁能帮我看看这个函数阿,为什么返回的值那么的奇怪阿function test(){var resultnew Array()for(var i0

谁能帮我看看这个函数阿,为什么返回的值那么的奇怪阿
function test(){

var result=new Array(); 

for(var i=0;i<10;i++){

result[i]=function(){

return i;
};
}
return result;
}


输出result输出的是10个"function(){
return i;
} "这样的字符串阿,而不是0到9阿,为什么阿,求解释

[解决办法]
function test(){
var result=new Array(); 
for(var i=0;i<10;i++){
result[i]=function(){
return i;
}();
}
return result;
}
var a=test();
alert(a);
这样试试
[解决办法]
function test() {
var result = new Array();
for (var i = 0; i < 10; i++) {
(function(i){
result[i] = i
})(i);

}
return result
}
test()
alert(test())
[解决办法]

JScript code
function test(){    var result=new Array();     for(var i=0;i<10;i++){        //以下为一个闭包        result[i]=function(){            return i;        };    }    return result;}
[解决办法]
探讨

JScript code
function test(){

var result=new Array(); 

for(var i=0;i<10;i++){
//以下为一个闭包
result[i]=function(){

return i;
};
}
return result;
}
……

热点排行