Я искал по всему SO, и я знаю, что есть много тем об этом, но я не нашел ни одной, которая отвечала бы на мой вопрос.
Я видел вопрос о получении значения объекта обратноиз строки, подобной этой:
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, например, Аризона.
Как я могу обновить это свойство в Калифорнии сейчас?
Если я попытаюсь
var x = getPropertyByString('myGlobalVar.someProp.stateName');
x = 'California';
, это обновит значение x, а не объекта.
Я попытался
var x = getPropertyByString('myGlobalVar.someProp.stateName');
x.value = 'California';
, который не сделаллибо не работает.
Может ли кто-нибудь помочь мне понять это на моем примере?
Спасибо