Стандартный способ сделать ООП - это использовать myObject
в качестве конструктора и расширить его prototype
объект тем, что должно быть унаследовано.
function myObject() {
// constructor function
}
myObject.prototype.setResult = function (result) {
this.result = result;
}
myObject.prototype.execute = function() {
$.ajax({
context: this, // bind the calling context of the callback to "this"
complete: function(xmlHttp){
this.setResult(jQuery.parseJSON(xmlHttp.responseText));
}
});
}
var obj = new myObject();
obj.execute();
Нет требования , чтобы это было сделано таким образом, но это очень распространено.
Вы должны иметь в виду, что контекст вызова функции зависит от того, как вызывается эта функция. Что касается обратного вызова complete:
, jQuery устанавливает контекст, поэтому он не будет вашим объектом, если вы не скажете jQuery сделать его этим объектом или не будете использовать другой способ привязки контекста .
Метод jQuery $.ajax
дает вам свойство context:
, которое позволяет вам устанавливать контекст вызова обратных вызовов, как я показал выше.