如何在Javascript中定义变量时引用变量?
var person = {
basic: {
name: 'jack',
sex: 0,
},
profile: {
AA: 'jack' + '_sth', # How can I write like this: AA: basic.name + '_sth'
},
};
答案 0 :(得分:3)
你不能。
你必须做
var name = 'jack';
var person = {
basic: {
name: name,
sex: 0
},
profile: {
AA: name + '_sth'
}
};
就像this answer所说,您也可以执行以下操作
function Person() {
this.basic = {
name: 'jack',
sex: 0
};
this.profile = {
AA: this.basic.name + '_sth'
};
}
var person = new Person();
但是这会创建一个Person
的实例,而不是一个简单的JS对象。
答案 1 :(得分:1)
试试这个
var person = {
basic: {
name: 'jack',
sex: 0
}
};
person.profile= {
AA:person.basic.name + '_sth'
};
答案 2 :(得分:0)
你也可以试试getfunction
答案 3 :(得分:0)
您还可以使用立即调用的函数表达式(IFFE):
var person = function(name) {
var prsn = {
basic: {
name: name || 'anonymous',
sex: 0
}
};
return {basic: prsn.basic, profile: {AA: prsn.basic.name + '_sth'}};
}('Jack');