在 JavaScript 中定义对象时,是否有一种方法可以让该对象的成员访问同一对象的另一个成员的值?例如,如果我定义以下内容(使用 jquery)
var x = $.extend({}, {
greeting: 'hello',
message: this.greeting+' world'
});
alert(x.message);
上面的代码会发出警报 undefined world
。我如何让它的值是greeting
在定义期间。在这种情况下,预期输出是 hello world
.
最佳答案
您可以使用属性:
var foo = {
greeting: 'hello',
get message() {
return this.greeting+' world'
}
};
console.log(foo.message);
foo.greeting = 'hi';
console.log(foo.message);
虽然我不确定它们将如何与 $.extend
交互
在旧版浏览器中,您始终可以将 message
设为函数,而不是属性 getter
关于javascript - 如何让javascript对象的一个成员引用同一对象的另一个成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16090540/