例:function?box{
var?arr=[];
for(var?i=0;i<5;i++){
????arr[i]=function(){
????????return?i;
????????};
????}
????return?arr;
}
var?b=box();
for(var?i=0;i<5;i++){
????alert(b[i]());
}
為什么這個打印出來的是55555
而下面這個
function?box{
var?arr=[];
for(var?i=0;i<5;i++){
????arr[i]=(function(num){
????????return?function(){
????????????return?num;
????????????}
????????})(i);
????}
????return?arr;
}
var?b=box();
for(var?i=0;i<5;i++){
????alert(b[i]);
}
這個打印出來的結果是0,1,2,3,4
麻煩大家幫忙看看,關于javascript的問題
ZXJ03
2017-04-14 22:53:51