我的代碼看起來像這樣:重新定義一個局部變量在javascript關閉
for(var i=0; i<10; i++) {
var someClickableObject = new Object();
someClickableObject.index = i;
eventListenerFunction(someClickableObject, 'click', function() {
alert(someClickableObject.index);
});
}
所以我創建了一堆可點擊的對象,給每個等於循環索引的屬性,上設置點擊事件提醒其索引屬性的對象。
我希望每個對象都能提醒創建它的索引i。相反全部對象警報9.我認爲這是因爲事件偵聽器在每次迭代中重新定義的對象上形成一個閉包。
關於如何解決這個問題的任何想法?
你的好。謝謝。 – opl 2011-01-19 16:11:26