在 Javascript 中定义变量时如何引用变量?
var person = {
basic: {
name: 'jack',
sex: 0,
},
profile: {
AA: 'jack' + '_sth', # How can I write like this: AA: basic.name + '_sth'
},
};
在 Javascript 中定义变量时如何引用变量?
var person = {
basic: {
name: 'jack',
sex: 0,
},
profile: {
AA: 'jack' + '_sth', # How can I write like this: AA: basic.name + '_sth'
},
};
你不能。
你所要做的
var name = 'jack';
var person = {
basic: {
name: name,
sex: 0
},
profile: {
AA: name + '_sth'
}
};
就像这个答案说的那样,您也可以执行以下操作
function Person() {
this.basic = {
name: 'jack',
sex: 0
};
this.profile = {
AA: this.basic.name + '_sth'
};
}
var person = new Person();
但这会创建 的实例Person
,而不是简单的 JS 对象。
尝试这个
var person = {
basic: {
name: 'jack',
sex: 0
}
};
person.profile= {
AA:person.basic.name + '_sth'
};
你就是不能。除了像 sushil's 和 pvorb's 这样的解决方法之外,您不能引用仍在定义的对象。
你也可以试试getfunction
您还可以使用立即调用函数表达式 ( IFFE ):
var person = function(name) {
var prsn = {
basic: {
name: name || 'anonymous',
sex: 0
}
};
return {basic: prsn.basic, profile: {AA: prsn.basic.name + '_sth'}};
}('Jack');