爲什麼jslint抱怨在聲明的函數中使用this?在聲明的函數中使用'this'嚴格違反,沒有違反函數表達式
function navigate() {
var id = $(this).attr('id');
}
給我:
#1 Strict violation.
var id = $(this).attr('id'), // Line 18, Pos 20
然而,JSLint的沒有給出有關投訴:
var navigate = function() {
var id = $(this).attr('id');
}
我使用他們兩人以同樣的方式,他們都在瀏覽器中正常工作。
view.on('click', navigate);
僅供參考,我周圍的警告得到了利用event.target
代替,但我想知道的區別是什麼。
function navigate(event) {
var id = $(event.target).attr('id'); // no complaint
}
當我運行它通過JSLint的我沒有對'this'我得到了一個得到一個錯誤「事件」未被使用的錯誤。 – 2012-04-13 00:33:05
是的,我忘了刪除前兩個函數中的事件,我只是添加它來解決關於'this'的投訴。更新的問題,謝謝。 – 2012-04-13 00:38:25