1.JSLint簡介
JSLint定義了一組編碼約定,這比ECMA定義的語言更為嚴格。這些編碼約定汲取了多年來的豐富編碼經驗,並以一條年代久遠的編程原則 作為宗旨:能做並不意味着應該做。JSLint會對它認為有的編碼實踐加標志,另外還會指出哪些是明顯的錯誤,從而促使你養成好的 JavaScript編碼習慣。
2.Notepad++安裝JSLint插件
1.安裝Notepad++(開發工具/ npp_V6.7.5_Installer.1426044595.exe,不要安裝最新版的npp,使用jslint有bug)
2.安裝JSLint插件
打開Notepad++,在插件-插件管理(Plugin Manager)中打開插件管理展示

在Available中選中JSLint並且Install,插件安裝成功

3.JSlint的使用
3.1 操作
1.隨意打開一個JS文件,然后選擇 插件>>JSLint>>JSLint Current File。

在控制台也能進行快捷調試,在錯誤的地方右擊選擇Show能直接定位到錯誤所在地
jslint允許檢驗js等文件,將文件語言設置為javascript


3.2配置
因為jslint默認定義的規約很多,能全部做到自然更好。但實際我們可以根據項目需要,將規約放寬。
插件>>JSLint>>option 里面包括一些選項,按下圖配置。

Predefindes說明:這里可以輸入系統的一些全局變量,以減少錯誤提示。
目前有的全局變量:
showOpMsg,dojo,esri,jQuery,Ext,MyApp,getConfig,getLocalConfig,Highcharts,getCtrl,setConfig,setLocalConfig,showOpMs,BMap,transModelsToDatas,BMAP_NAVIGATION_CONTROL_LARGE,BMAP_ANCHOR_TOP_LEFT,BMAP_NORMAL_MAP,BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP
3.3說明
JSLint可能會把一些結構方面的錯誤標志為可疑的編碼實踐,以下列出了其中一部分(完整的列表可以參考JSLint的文檔)http://www.jslint.com/lint.html。
①JSLint要求所有代碼行都以分號結束。盡管JavaScript確實允許將換行符作為行結束符,但一般認為這種做法是不明確的,而且是不好的編碼風格。
②使用if和for的語句必須使用大括號把語句塊括起來。
③不同於其他編程語言,在JavaScript中,塊不會作為變量的作用域。JavaScript只支持函數級作用域。因此,JSLint只接受作為function、if、switch、while、for、do和try語句一部分的塊,其他的塊都會標志為錯誤。
④var只能聲明一次,而且在使用之前必須聲明。
⑤JSLint會把出現在return、break、continue或throw語句后面的代碼標志為不可達的代碼。這些語句后面必須緊跟一個結束大括號。
⑥結合Ext,常見的錯誤有缺少或者多了空格,函數中缺少use strict:Missing 'use strict' statement.,{}未對齊,變量未定義,代碼寫在不是期望的位置等,這些大部分都可以在option里面配置是否驗證。
⑦for in 語句
避免遍歷原型鏈上所有屬性,建議如下寫法:
for(name in object) {
if(object.hasOwnProperty(name)) {
....
}
}
4.參考資料
1.在notepad++中使用jslint檢查javascript代碼
http://www.oschina.net/question/54100_25561
2.IBM文檔(使用JSLint保證代碼質量)
http://www.ibm.com/developerworks/cn/web/1105_linlin_jslint/
附-JSTool
JSTool是一款不錯的js、json格式化工具。
在用JSLint規范代碼前可使用notepad++插件JSTool 格式化代碼,很方便。format一下代碼,減少需要修改的錯誤的數量。

