87,917
社区成员
发帖
与我相关
我的任务
分享
function f(x)
{
var g = function () { return x; }
return g;
}
var g1 = f(1);
var g2 = f(2);
alert(g1()); //输出 1
alert(g2()); //输出 2
function a()
{
var array = new Array();
for (var i = 0; i < 10; i++)
{
array.push(function() {return i});
}
return array;
}
var array = a();
for (var i = 0; i < array.length; i++)
{
window.alert(array[i]()); //全是10
}
function a()
{
var array = new Array();
for (var i = 0; i < 10; i++)
{
var j=i;
array.push(function() {return j});
}
return array;
}
var array = a();
for (var i = 0; i < array.length; i++)
{
window.alert(array[i]());
}
array.length 打出来看看不就知道是什么原因了吗
<script>
function a()
{
var array = new Array();
for (var i = 0; i < 10; i++)
{(function(i){
array.push(function() {return i});
})(i)}
return array;
}
var array = a();
for (var i = 0; i < array.length; i++)
{
window.alert(array[i]()); //全是10
}
</script>