可能的重复:
对象文字声明中的自引用 https://stackoverflow.com/questions/4616202/self-references-in-object-literal-declarations
我在 JS 中有一些简单的对象,如下例所示:
var object = {
firstname : 'john',
lastname : 'paul',
wholename : firstname + lastname
}
那么这个简单的事情是行不通的; john 和 paul 在全名中未定义,所以我尝试使用“this”运算符,该运算符仅在我执行函数时才有效(getWholeName(){return this.firstname+this.lastname} )
。
但是如果我想使用变量而不是函数,我该怎么办?我也尝试过object.firstname + object.lastname
但它不起作用。
无法引用该对象,但您可以动态添加属性:
var object = {
firstname : 'john',
lastname : 'paul'
};
object.wholename = object.firstname + object.lastname;
EDIT:
为什么不把它包装在一个函数中呢?
var makePerson = function (firstname, lastname) {
return {
firstname: firstname,
lastname: lastname,
wholename: firstname + lastname // refers to the parameters
};
};
var object = makePerson('john', 'paul');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)