Когда свойство b
определяется, obj
еще не определено.Один из способов обойти эту проблему - сделать ваше свойство функцией, чтобы оно не оценивалось до тех пор, пока оно не будет вызвано.
var obj = {
a : document.getElementById("ex1"),
b : function() {
// This is not evaluated until obj.b() is called
return obj.a.document.getElementsByTagName("div");
}
};
obj.b();
Если вы действительно хотите, чтобы оно было свойством, вы должны сделать это в два шага: Томаш Нуркевич показывает