我试图做这样的事情的对象上保持状态:在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"
据我所知道的,正在发生的事情是,“这个”在内部匿名函数指向窗口。我不确定发生了什么事。
我在正确的轨道上吗?有更好的方法吗?