日期:2014-05-16  浏览次数:20360 次

js闭包里面没有值传递

在js闭包里面没有值传递

?

var a= function(){

var rlt= [];

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

rlt[changing] = function(){ var amIchange = changing; return amIchange;

}

} return rlt;

}();

?

for(var i = 0; i < a.length; i++){

console.debug(a());

}

?

假如可以值传递 那么应该打印出 1,2,3,4...

但是实际效果却全都是 10,因为 i 最后被赋值10