我很想生活在一個無塵的世界。 JSLint就是這樣。但是我有一些問題,我不確定我應該忽略或修復。具體來說,我得到一些:JSLint和未定義的功能
[functionName] not defined
錯誤。我不承認,你總是應該使用它之前定義的功能,我以爲這就是該消息確實警告反對,但這裏有兩種情況,我認爲這是一個有效的例外:
jQuery(document).ready(function($) {
// code goes here
}
在一個簡單的文件,該文件從jQuery的一個典型的noconflict包裝開始,我得到一個警告,說「jQuery(document).ready(function($){」沒有被定義,顯然jQuery是在一個單獨的文件中定義的,需要保持獨立。 ?
第二個例子實際上非常相似,儘管可以說它更容易避免。在這種情況下,我的項目中有兩個JS文件,一個看起來就像上面的一個(也就是一組DOM觸發器d事件包裝在jQuery的「ready」事件中)。另外有一些看起來像這樣的輔助功能:
function doSomethingImportant() { };
function doSomethingImpressive() { };
這些功能則稱爲第一JS文件中。 JSLint不喜歡這個,並且每次第一個JS文件調用第二個JS文件中定義的函數時都會抱怨:doSomethingImportant(){未定義。然而實際上,由於函數是在加載時定義的,並且對這些函數的調用總是隨後基於DOM事件發生,所以從未出現真正的問題。
無論如何,開放的想法。這是過濾JSLint的建議或我應該修復代碼的情況嗎?
看看頁面的底部,這裏有一個輸入字段,其中帶有*預定義的全局變量*。只需添加所有不含逗號的全局變量,例如'jQuery doSomethingImportant doSomethingImpressive'。 – Yoshi