可能重复:
JavaScript 闭包是如何工作的?
我已经阅读了相同的旧 javascript 闭包循环问题的所有数百万个重复项。我以为我理解它们,并且一直使用闭包几个月没有问题,直到今天。我难住了。
for (var i in groups){
for(var j in groups[i]){
$(unique_form).die('submit').live('submit'), function{
function (groups2, i2, j2){
return function(){alert(groups2[i2][j2])}
}(groups, i, j)
}
});
}
}
}
当我提交每个独特的表单时 - 我不断收到关于 groups[i][j] 的最后一个元素的警报。显然,我在做一些愚蠢的事情,这是什么?我认为通过创建匿名函数 groups2、i2 和 j2 可以解决问题。