获取对象属性?

时间:2012-02-23 13:07:02

标签: javascript

我有以下内容:

var skillet = {

   age: '20',

   names: { 

      first: 'abe',
      last: 'watson',
      additional: "<div>'" + age + "'</div>"

   }

};

我被卡在age上,因为它说undefined?我还在skillet.age属性中尝试了names无效。如何在age内添加names

2 个答案:

答案 0 :(得分:2)

您在age对象中引用的names是对不在范围内的自由变量的引用。在对象文字中,没有办法直接引用另一个对象文字的属性。你必须这样做:

var skillet = {

   age: '20',

   names: { 

      first: 'abe',
      last: 'watson'
   }

};
skillet.names.additional = "<div>'" + skillet.age + "'</div>";

答案 1 :(得分:1)

当您到达additional时,skillet对象尚未定义。您必须在创建skillet后定义属性

var skillet = {    
   age: '20',
   names: { 
      first: 'abe',
      last: 'watson'
      //additional: "<div>'" + age + "'</div>"
   }
};
skillet.names.additional = '<div>' + skillet.age + '</div>';