闭包的弊端
function fn1(){
var fns = new Array();
// 这里的i的作用域是在fn1里面的
for(var i = 0;i<10;i++){
fns[i] = function(){
return i;
}
}
return fns;
}
var fs = fn1();
for(var i = 0;i<10;i++){
// 这里取i他首先在自己的空间找,发现并没有i这个变量。所以它会到上一级去找。然后在
fn1中发现i。最后i已经是10了。
document.write(fs[i]()+"<br/>");
}
输出如下:

浙公网安备 33010602011771号