mrg*_*oos 2 javascript object-literal javascript-objects
换句话说,让值为变量.像这样的东西:
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?
Run Code Online (Sandbox Code Playgroud)
使它成为一种方法:
var a = 3,
b = 4,
obj = {
x: function () {
return a;
},
y: b
};
a = 2;
Run Code Online (Sandbox Code Playgroud)
称之为:
obj.x() // returns 2
Run Code Online (Sandbox Code Playgroud)
演示: http ://jsfiddle.net/67NwY/2/
否则,没有原生(并且在旧版浏览器中支持)a通过使用获得"实时"值的方式obj.x.这里的另一个答案提供了使用Object.defineProperty它可以做到这一点.
obj.y如果你想这样做,也可以应用它.
这是一种方法:
var a=3,b=4;
var obj = {x : function(){return a;}, y : function(){return b;}};
alert(obj.x()); // displays '3'
a=2;
alert(obj.x()); // displays '2'
Run Code Online (Sandbox Code Playgroud)