【发布时间】:2012-12-24 05:03:08
【问题描述】:
我正在学习 JavaScript 中的闭包...我看到了简单代码的示例:
for (var i = 0; i < 10; i++) {
document.getElementById('box' + i).onclick = function() {
alert('You clicked on box #' + i);
};
}
但究竟发生了什么,无论您选择什么div,您都会收到关于最后一个i - 最后一个迭代的警报。
我看到了内部函数问题的解决方案,但为什么会发生这种情况?不是每次迭代都绑定onclick 事件吗?
【问题讨论】:
-
搜索
[javascript] callback loop last value。不乏重复。 -
-1 因为你知道关于闭包,这很容易找到重复项。尝试使用搜索功能或在创建帖子时查看“类似问题”。
标签: javascript closures