Пример:
var Window = function() {
this.title = 'None';
this.update = function(data) {
this.title = data.title;
}
this.move = function() {
$.getJSON('/move/', this.update);
}
this.fix_move = function() {
var mthis = this;
$.getJSON('/move/', function(data) {
mthis.update(data);
});
}
}
Когда вызывается move, то в методе update, подменяется this и уже недоступны поля объекта Window. В fix_move это исправлено.
Может быть я что-то делаю не так, как будет правильно использовать ООП в таких случаях?