在JavaScript中的对象中访问对象内部的属性

时间:2014-03-25 17:55:56

标签: javascript object

我现在有一点启动问题。我试图在创建对象的另一个属性时引用对象的属性。

例如:

 var x = {
     a1 : "a",
     b2 : this.a1,
      c : "c"
 }

 alert(x.a1); // Returns properly
 alert(x.b2); // Returns undefined.

如果我尝试使b2参考x.b2,它也不起作用。有人能指出我正确的方向吗?

总而言之,我试图根据a1的值来决定b2的值,而不必从对象中取出另一步。

这是一个小提琴 - http://jsfiddle.net/fpG9h/

1 个答案:

答案 0 :(得分:0)

你绝对需要getters and setters。您可以像这样定义它们

var obj = {
    a1: "a",
    get b2() {
        return this.a1;
    },
    set b2(value) {
        this.a1 = value;
    },
    c: "c"
}

console.log(obj.b2);    // a
obj.b2 = "bbb";
console.log(obj.b2);    // bbb
console.log(obj.a1);    // bbb