我最近開始使用JSLint,並且像許多我面對的「已定義之前使用」和「已經定義」。我在這裏經歷了一些解決方案,並且設法解決了一些問題,但現在我陷入了困境。我的代碼是這樣的:jslint clickHandler在它被定義之前被使用/已經定義
var foo;
foo = addEventListener("click", clickHandler, false);
...
function clickHandler() {...};
這樣的代碼工作,但我得到了「使用之前定義」的警告。如果我將clickHandler添加到「var」中,那麼在我調用它的時候,它將會是未定義的,迫使我對代碼重新排序,並將處理程序的定義放在代碼中間(在我看來,可讀性較差)。有沒有一種方法可以使用clickHandler,但在使用後還有其定義?
好的,你的問題是什麼? – 2014-11-04 23:07:46
對不起,我以爲我寫過問題部分。修復。 – Tiagojdferreira 2014-11-05 10:19:53
我想知道爲什麼jslint在這方面很勉強。函數foo()在* load *時間(即第一次)被解釋,而'var foo = function()'在* run *時間(即後面的時間)被解釋。除非您切換到'var foo = function()'樣式聲明,否則您的代碼應該運行。 – amphetamachine 2014-11-05 16:03:59