读书人

哪位高手能帮小弟我看看这个函数阿为

发布时间: 2012-05-31 12:19:24 作者: rapoo

谁能帮我看看这个函数阿,为什么返回的值那么的奇怪阿
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;
}
……

读书人网 >JavaScript

热点推荐