Tôi mới sử dụng JavaScript. Mới như xa như tất cả tôi đã thực sự thực hiện với nó là tinh chỉnh mã hiện tại và đã viết các bit nhỏ của jQuery.'this' không được xác định trong các phương thức lớp JavaScript
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 pháp, nhưng tôi đang gặp rắc rối với các phương pháp. 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
là undefined và do đó câu lệnh if là false. Tôi làm gì sai ở đây?
Có lý do nào bạn có 'bắt đầu' trong' nguyên mẫu' không? – xj9
Cài đặt 'Request.prototype' là gì? –
Tôi không có ý kiến: S –