javascript - 如何让javascript对象的一个​​成员引用同一对象的另一个成员?

标签 javascript jquery object

在 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/

相关文章:

javascript - 如何计算开始日期和结束日期之间的天数

javascript - 在 mouseenter(悬停)上,显示和隐藏(切换)子元素

jquery - 将表单从一个 div 移动到另一个 div

Javascript对象获取代码作为字符串

javascript - 在对象上使用 jQuery grep

javascript - 在 React 中使用 map() 时无法通过 API 调用访问数组数据

javascript - Ajax创建动态div不支持点击功能,为什么?

JavaScript : Check if object has properties

JavaScript/CSS 播放一次 Spritesheet 就变成 gif 了吗?

javascript - 如何在 Javascript/Jquery 中添加表行时更改组合框选择上的文本框