我試圖做這樣的事情的對象上保持狀態:在JavaScript構造參考實例變量
obj = function() {
this.foo = undefined;
this.changeState = function() {
(function() { this.foo = "bar" })(); // This is contrived, but same idea.
};
};
我想設置的實例變量foo的爲「欄」當我打電話的改變狀態的方法。
例如:
o = new obj();
o.changeState();
alert(o.foo); // This should say "bar"
據我所知道的,正在發生的事情是,「這個」在內部匿名函數指向窗口。我不確定發生了什麼事。
我在正確的軌道上嗎?有更好的方法嗎?