0
我的代碼是:JS,動態回調函數(即動態常數),單擊例如
for (i = 0; i < 3; i++) {
elem[i].click(function(event) { alert(i); });
}
不幸的是不起作用。任何想法如何使其與i
在elem[i]
中一樣提醒i
。
謝謝!
我的代碼是:JS,動態回調函數(即動態常數),單擊例如
for (i = 0; i < 3; i++) {
elem[i].click(function(event) { alert(i); });
}
不幸的是不起作用。任何想法如何使其與i
在elem[i]
中一樣提醒i
。
謝謝!
您應該使用let
來定義變量i
。與var
不同,由let
定義的變量是塊範圍。因此,每次迭代後都不會覆蓋它們。
for (let i = 0; i < 3; i++) {
elem[i].click(function(event) { alert(i); });
}
順便說一句,當ES6可用時,在這種情況下使用閉包通常是一個壞主意。這有點矯枉過正。
謝謝你,一個完美的解決方案。 –