1.
function f(){
var a =[];var i;for(i=0;i<3;i++){a[i] = function(){alert(i);return i;}
}
return a;
}
var a = f();
此时a的值是:

此时i的值是3
a[0]();//3
这步就是执行
此时a的值是:
此时i的值是3
a[0]();//3
这步就是执行
function(){
alert(i);return i;
}
//这个函数由于i的值是3 所以结果是3;下面的也一样
a[1]();//3
a[2]();//3
2,
var a = f();//执行完这句代码 此时a的值是

alert(a[0]) //结果是0
alert(a[1]) //结果是1
alert(a[2]) //结果是2
2,
function f(){
var a =[];var i;for(i=0;i<3;i++){a[i] =(function(j){alert(j);return j;})(i)
}
return a;
}
alert(a[0]) //结果是0
alert(a[1]) //结果是1
alert(a[2]) //结果是2
547

被折叠的 条评论
为什么被折叠?



