我现在有一点启动问题。我试图在创建对象的另一个属性时引用对象的属性。
例如:
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/
答案 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