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