Tôi mới làm quen với JavaScript. Mới như tất cả những gì tôi thực sự đã làm với nó là chỉnh sửa mã hiện có và viết các bit nhỏ của jQuery.
Bây giờ tôi đang cố gắng viết một "lớp" với các thuộc tính và phương thức, nhưng tôi đang gặp sự cố với các phương thức. Mã của tôi:
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
Vấn đề là, trong Request.prototype.start
, this
không được xác định và do đó câu lệnh if đánh giá là false. Tôi làm gì sai ở đây?
start
trongprototype
?