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

你可能感兴趣的:(js闭包)