Я новичок в JavaScript. Новое, поскольку все, что я действительно сделал с ним, - это доработка существующего кода и написание небольших фрагментов jQuery.
Сейчас я пытаюсь написать «класс» с атрибутами и методами, но у меня проблемы с методами. Мой код:
function Request(destination, stay_open) {
this.state = "ready";
this.xhr = null;
this.destination = destination;
this.stay_open = stay_open;
this.open = function(data) {
this.xhr = $.ajax({
url: destination,
success: this.handle_response,
error: this.handle_failure,
timeout: 100000000,
data: data,
dataType: 'json',
});
};
/* snip... */
}
Request.prototype.start = function() {
if( this.stay_open == true ) {
this.open({msg: 'listen'});
} else {
}
};
//all console.log's omitted
Проблема заключается в том , в Request.prototype.start
, this
не определено и , таким образом, если Равняется заявление к ложным. Что я здесь делаю не так?
start
вprototype
?