如何在JS中引用当前对象的属性[重复]

2024-03-23

可能的重复:
对象文字声明中的自引用 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(使用前将#替换为@)

如何在JS中引用当前对象的属性[重复] 的相关文章