伪javascript:
for (i, i<10, i++) {
new element.addEvent('click', function(){ alert(i) }).inject(dom)
}
当循环结束时,所有onclick事件将触发具有i的'final'值的警报。什么是让他们提醒我的价值的“正确”方式,就像添加onclick事件时一样?
当我说正确时,我的意思是我知道有几种方法可以实现这种行为,但我想知道标准(即可能遇到代码的人所期望的)方式。感谢。
答案 0 :(得分:3)
使用闭包在每次迭代时捕获i
的值:
for (i; i<10; i++) {
(function(i) {
new element.addEvent('click', function(){ alert(i) }).inject(dom);
}(i));
}