つまり、値を変数にします。このようなもの:
var a=3,b=4;
var obj = {x : a, y : b};
alert(obj.x); //will display '3'
a=2;
alert(obj.x); //want it to display '2' - how can i accomplish this?
つまり、値を変数にします。このようなもの:
var a=3,b=4;
var obj = {x : a, y : b};
alert(obj.x); //will display '3'
a=2;
alert(obj.x); //want it to display '2' - how can i accomplish this?
オブジェにする
var a = {
val:3
};
var obj = {x : a};
alert(obj.x.val); //will display '3'
a.val=2;
alert(obj.x.val); //will display '2'
プロパティのゲッターとセッター
Ian の発言に加えて、新しいバージョンの JS では、プロパティのゲッターとセッターを使用できます。イアンはそれらをプログラムで定義する方法を使用しました。リテラル構文もあります(質問のタイトルに「オブジェクトリテラル」が記載されているため)。obj.x
セッターも追加することで、とから値を設定できることに注意してくださいa
。
var a = 3;
var o = {
get x() {
return a;
},
set x(value) {
a = value;
}
};
alert ( o.x ); // 3
a = 2;
alert( o.x ); // 2
o.x = 4;
alert(a); // 4