Tại sao jslint lại phàn nàn về việc sử dụng hàm này trong hàm được khai báo?Vi phạm nghiêm trọng khi sử dụng 'this' trong chức năng được khai báo, không vi phạm với biểu thức hàm
function navigate() {
var id = $(this).attr('id');
}
Cung cấp cho tôi:
#1 Strict violation.
var id = $(this).attr('id'), // Line 18, Pos 20
Tuy JSLint không đưa ra khiếu nại về:
var navigate = function() {
var id = $(this).attr('id');
}
Tôi đang sử dụng cả hai trong cùng một cách, và cả hai đều làm việc một cách chính xác trong trình duyệt .
view.on('click', navigate);
FYI, tôi nhận được cảnh báo bằng cách sử dụng event.target
thay vào đó, nhưng tôi muốn biết sự khác biệt là gì.
function navigate(event) {
var id = $(event.target).attr('id'); // no complaint
}
Khi tôi chạy nó thông qua JSLint tôi không nhận được một lỗi trên 'this' tôi có một lỗi trên 'sự kiện' không được sử dụng. –
Vâng tôi đã quên xóa sự kiện trong hai chức năng hàng đầu, tôi chỉ thêm nó vào để giải quyết khiếu nại về 'điều này'. Đã cập nhật câu hỏi, cảm ơn. –