共享名称为

时间:2018-12-17 18:33:51

标签: javascript object

所以,我正在尝试创建一个像这样的对象:

var a = {
    b: "object_id",
    b: function(){ return c(this.b); }
}
var c = {
    "object_id": {
        foo: "bar"
    }
}

但是它仅注册键“ b”的最后一个值。但是我想我以前已经看过类似的东西,如果我可以调用a.b()。foo或我只想要ID a.b

,它将对我有帮助

是否有任何办法可以实现此目的,或者我必须重命名值和/或方法?

1 个答案:

答案 0 :(得分:0)

您正在寻找Object Getter/Setter notation

var o = {
  _b: 7,
  get b() { 
    return this._b + 1;
  },
}

在这种情况下,您不能使用相同的对象ID,并且如果需要完全私有,则应将b的内部变量存储在闭包中。