WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機
Ajax- 使用JSLint完成JavaScript語法檢查
導(dǎo)航: 上一頁 | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion
JSLint是一個JavaScript驗證工具(www.jslint.com),可以掃描JavaScript源代碼來查找問題。如果JSLint發(fā)現(xiàn)一個問題,JSLint就會顯示描述這個問題的消息,并指出錯誤在源代碼中的大致位置。有些編碼風(fēng)格約定可能導(dǎo)致未預(yù)見的行為或錯誤,JSLint除了能指出這些不合理的約定,還能標(biāo)志出結(jié)構(gòu)方面的問題。盡管JSLint不能保證邏輯一定正確,但確實有助于發(fā)現(xiàn)錯誤,這些錯誤很可能導(dǎo)致瀏覽器的JavaScript引擎拋出錯誤。
JSLint定義了一組編碼約定,這比ECMA定義的語言更為嚴(yán)格。這些編碼約定汲取了多年來的豐富編碼經(jīng)驗,并以一條年代久遠(yuǎn)的編程原則作為宗旨:能做并不意味著應(yīng)該做。JSLint會對它認(rèn)為有風(fēng)險的編碼實踐加標(biāo)志,另外還會指出哪些是明顯的錯誤(見圖5-12),從而促使你養(yǎng)成好的JavaScript編碼習(xí)慣。
圖5-12 JSLint會檢查錯誤以及不好的編碼風(fēng)格,以此提供JavaScript驗證
JSLint可能會把一些結(jié)構(gòu)方面的錯誤標(biāo)志為可疑的編碼實踐,以下列出了其中一部分(完整的列表可以參考JSLint的文檔)。
JSLint要求所有代碼行都以分號結(jié)束。盡管JavaScript確實允許將換行符作為行結(jié)束符,但一般認(rèn)為這種做法是不明確的,而且是不好的編碼風(fēng)格。
使用if和for的語句必須使用大括號把語句塊括起來。
不同于其他編程語言,在JavaScript中,塊不會作為變量的作用域。JavaScript只支持函數(shù)級作用域。因此,JSLint只接受作為function、if、switch、while、for、do和try語句一部分的塊,其他的塊都會標(biāo)志為錯誤。
var只能聲明一次,而且在使用之前必須聲明。
JSLint會把出現(xiàn)在return、break、continue或throw語句后面的代碼標(biāo)志為不可達(dá)的代碼。這些語句后面必須緊跟一個結(jié)束大括號。
對于JavaScript程序員新手來說,JSLint是一個非常好的工具,因為它會教你一些好的JavaScript編碼實踐。由于JSLint能把可能導(dǎo)致邏輯錯誤或其他未預(yù)見行為的部分標(biāo)出來,因此可以減少調(diào)試時間。如果你調(diào)試一段JavaScript代碼時遇到困難,可以試試JSLint。