我有以下内容:
var skillet = {
age: '20',
names: {
first: 'abe',
last: 'watson',
additional: "<div>'" + age + "'</div>"
}
};
我被卡在age
上,因为它说undefined
?我还在skillet.age
属性中尝试了names
无效。如何在age
内添加names
?
答案 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>';