我一直在搜索所有SO,我知道有很多這方面的話題,但我還沒有找到一個回答我的問題。JavaScript通過引用傳遞對象然後更新
我看到一個問題,有關獲取對象的值返回一個字符串像這樣:
function getPropertyByString(str) {
var properties = str.split(".");
var myTempObject = window[properties[0]];
for (var i = 1, length = properties.length; i < length; i++) {
myTempObject = myTempObject[properties[i]];
}
return myTempObject;
}
所以,如果有一個全局變量稱爲myGlobalVar,你可以將字符串「myGlobalVar.someProp.stateName」和假設這是完全有效的,例如,您將返回stateName的值,例如Arizona。
我怎麼能現在更新該屬性到加利福尼亞州?
如果我嘗試
var x = getPropertyByString('myGlobalVar.someProp.stateName');
x = 'California';
將更新x的值,而不是對象。
我試圖
var x = getPropertyByString('myGlobalVar.someProp.stateName');
x.value = 'California';
這也不能工作。
有人能幫我理解我的例子嗎?
謝謝
很好解釋! – dgvid 2011-12-22 16:35:49