的JSLint測試JavaScript的一個子集專業,由Douglas Crockford的創建。從本質上講,他試圖從JavaScript語言中只挖掘「優秀部分」,讓程序員的生活更輕鬆,代碼更清晰易讀。所以,簡短的回答是NO。您不必遵循說明。完美有效的JavaScript代碼將會並且一直會失敗JSLint。
但長期的答案是你的生活將在長遠來看是顯著更容易,如果你這樣做。
採取===與==,例如。區別在於測試EQUALITY與測試IDENTITY。或者,如克羅克福德在他的書,JavaScript: The Good Parts說:
JavaScript有兩套相等運算符:===和==,和他們的孿生兄弟==和=!。好的那些以你期望的方式工作。如果兩個操作數是相同的類型並具有相同的值,則===產生true,並且!==產生false。當操作數是相同類型的時候,邪惡的雙胞胎做正確的事情,但如果它們是不同類型的,他們試圖強制價值觀。他們所做的規則很複雜,難以理解。
因此,如果您使用的是===而不是==,那麼您的代碼幾乎總能按照您預期的那樣執行,只需花費很少的代價即可輸入額外的字符。但是,如果您使用==且操作數不是相同類型(例如字符串和整數),則JavaScript將首先將這些值轉換爲相同類型,然後進行比較。他們可能不會做你想要的或者你所期望的。而且,因爲在JavaScript中,您經常處理從DOM中引入的元素,這些元素以字符串形式出現,所以您總是遇到字符串轉換問題。
由於克羅克福德寫道,這裏有一些你可能會遇到的問題:
'' == '0' => false
0 == '' => true
0 == '0' => true
false == 'false' => false
false == '0' => true
扭曲,是嗎? JavaScript: The Good Parts是一本非常棒的書,如果你一直在使用JavaScript一段時間,它會改變你編寫代碼的方式。如果你像一個好的海洋一樣低頭,JSLint也會如此。
所以。長答案?不,你不需要做任何事情JSLint告訴你。但你應該。
(原文如此)警告! JSLint會傷害你的感受。 ;) – Aleadam 2011-03-29 14:49:14
嘗試[JSHint](http://jshint.com/)而不是JSLint。 – 2011-03-29 15:05:32