0
我試圖初始化一些JavaScript對象內動態的一些數據值,但是當我創建一個串聯的字符串傳遞時,實際存儲的密鑰是變量名稱,而不是它內部的值。值是變量名稱而不是變量的內容
例子:
projects.init = function(){
for (var i = this.numBoxes - 1; i >= 0; i--){
var toInject = "item"+i;
this.datas[i] = {toInject:"testdata"};
};
}
然後調用初始化後,裏面projects.datas值樣子.. toInject 「TESTDATA」,而不是被 「物品1」 ...... 「ITEM2」 ......什麼我做錯了嗎?
是否有更詳細的解釋這個參考?我確信這是有效的,但很高興知道爲什麼;) – dmp 2009-11-21 18:17:42
obj [toInject]就像是在說eval(「obj。」+ toInject);它將該屬性設置爲變量toInject中的名稱。 :D – 2009-11-21 18:20:48
感謝您的更新,完美。 – dmp 2009-11-21 18:20:50