Я пытаюсь сохранить состояние на объекте, делая что-то вроде этого:Reference Переменные экземпляра в Javascript Конструктора
obj = function() {
this.foo = undefined;
this.changeState = function() {
(function() { this.foo = "bar" })(); // This is contrived, but same idea.
};
};
Я хочу, чтобы установить переменную Foo экземпляра в «бар», когда я вызываю метод changeState ,
Например:
o = new obj();
o.changeState();
alert(o.foo); // This should say "bar"
Насколько я могу сказать, что происходит в том, что «это» во внутренней анонимной функции указывает на окно. Я не уверен, что происходит.
Есть ли я на правильном пути? Есть ли лучший подход?