2

つまり、値を変数にします。このようなもの:

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?
4

4 に答える 4

3

オブジェにする

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'

http://jsfiddle.net/tzfDa/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
于 2013-05-08T15:34:51.243 に答える