JavaScript 对象如何引用本身的值?

2022-08-30 01:06:59

假设我有以下JavaScript:

var obj = {
 key1 : "it ",
 key2 : key1 + " works!"
};
alert(obj.key2);

此错误带有“未定义密钥 1”。我试过

this.key1
this[key1]
obj.key1
obj[key1]
this["key1"]
obj["key1"]

而且它们似乎从未被定义过。

如何获取 key2 来引用 key1 的值?


答案 1

也许您可以考虑删除函数的属性。我的意思是这样的:

var obj = {
  key1: "it ",
  key2: function() {
    return this.key1 + " works!";
  }
};

alert(obj.key2());

答案 2

这可以通过使用构造函数而不是文本来实现

var o = new function() {
  this.foo = "it";
  this.bar = this.foo + " works"
}

alert(o.bar)