Показать сообщение отдельно
  #3 (permalink)  
Старый 19.09.2013, 20:08
Новичок на форуме
Отправить личное сообщение для Sinist3r Посмотреть профиль Найти все сообщения от Sinist3r
 
Регистрация: 19.09.2013
Сообщений: 5

Я забыл указать, что object может быть абсолютно любым, в т.ч. содержать массивы, которые в свою очередь могут содержать объекты и т.п. Поэтому, к примеру, такой вариант не пройдет:
var object = {
 props: [
  {num: "one"},
  {num: "two"},
  {num: "three"},
  {num: "four"}
 ]
};

function someFunction(x) {
 var a = x.split('.');
 var xValue = window[a[0]];
 for (var i=1; i<a.length; i++)  {xValue = xValue[a[i]]}
 alert(x + " = " + xValue);
}

alert(object.props[2].num); // "three"
someFunction("object.props[2].num"); // TypeError: xValue is undefined
Ответить с цитированием