可能重复:
Javascript 对象如何引用自身的值?
假设我有:
var myNamespace = {
_prop1: 'hello',
_prop2: _prop1 + ' you!'
};
我现在才发现这会_prop2
在加载时出错。
我不明白为什么这不起作用,我已经在我的代码中解决了它,但我仍然想理解。
可能重复:
Javascript 对象如何引用自身的值?
假设我有:
var myNamespace = {
_prop1: 'hello',
_prop2: _prop1 + ' you!'
};
我现在才发现这会_prop2
在加载时出错。
我不明白为什么这不起作用,我已经在我的代码中解决了它,但我仍然想理解。
当您尝试设置 prop2 时,该对象尚未初始化,因此 prop1 和 mynamespace 的值都未定义。
有几种方法可以实现您想要的,一种方法是将 prop2 创建为函数,以便它可以动态获取 prop1 的值
var myNamespace = {
_prop1: 'hello',
_prop2: function(){ return this._prop1 + ' you!' }
};
另一种方法是在 myNamespace 初始化后设置 prop2
你必须使用这个:
var myNamespace = {
_prop1: 'hello'
};
myNamespace._prop2: myNamespace._prop1 + ' you!';
好吧,你可以做
var myNamespace = {
_prop1: 'hello',
_prop2: myNamespace._prop1 + ' you!'
};
我认为不可能在声明中以任何其他方式做到这一点(例如:使用“self”或“this”不起作用)