定义中的引用变量
Reference variable in definition?
如何在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');
相关文章:
- JavaScript变量引用数组时出现问题
- 通过另一个变量引用变量名称,或从变量确定变量名称
- 使用clearInterval方法实现的是将区间变量引用设置为null,而不是
- JavaScript闭包和变量引用
- 使用Javascript变量引用JSON键
- jQuery变量引用顺序
- 如何将变量引用传递给Observable订阅
- 这些变量引用如何工作
- 更改 JavaScript 中的变量引用
- Javascript变量引用/范围问题
- 在变量引用中使用函数参数
- 在打字稿中创建动态变量引用
- 根据对元素的变量引用从 DOM 中删除该元素
- 闭包中变量引用的意外行为
- 使用变量引用对象属性
- 基于变量引用的 Javascript 更改变量
- 使用变量引用样式属性
- 在 JavaScript 中使用变量引用 JSON 数字键
- 如何将全局作用域变量引用到局部作用域中
- 通过循环变量引用Javascript数组元素