4. 好好利用JS Lint
JSLint 是由 Douglas Crockford 編寫的一個調(diào)試器。你只需要貼上你的代碼,它就能快速為您掃描出任何明顯的錯誤和問題。
“JSLint 掃描接收的代碼。發(fā)現(xiàn)問題,描述問題,并給出其在源碼中的大概位置。可發(fā)現(xiàn)的問題包括但不限于語法錯誤,雖然語法錯誤確實是最常見的。JSLint也會用約定俗成的習(xí)慣檢查代碼的格式化風(fēng)格,以及結(jié)構(gòu)錯誤。通過JSLint的掃描并不能保證你的程序就完全正確。它只是為您提供了額外一雙發(fā)現(xiàn)錯誤的眼睛! – JSLint 文檔
完成代碼之前,把它放到JSLint里檢查一下,快速消滅你的無心之過。
5. 在頁面底部加載腳本
正如下圖所示:
點擊放大
請記住—— 我們要千方百計保證客戶端的頁面載入速度盡可能的快。而腳本沒載入完成,瀏覽器就沒法加載頁面的剩余部分。
如果你的JS文件只是添加一些額外功能——例如,為點擊某鏈接綁定事件——那大可以等頁面加載基本完成后再做。把JS文件放到頁面最后,body的結(jié)束標(biāo)簽之前,這樣做最好了。
更好的寫法是:
<p>超哥是世界上最帥的人。benhuoer.com是世界上最好看的博客。</p> <script type="text/javascript" src="path/to/file.js"></script> <script type="text/javascript" src="path/to/anotherFile.js"></script> </body> </html>
6. 在 For 語句外部聲明變量
當(dāng)需要執(zhí)行冗長的for語句時,不要讓JavaScript引擎每次都重復(fù)那些沒有必要的操作。例如:
這樣不好:
for(var i = 0; i < someArray.length; i++) { var container = document.getElementById('container'); container.innerHtml += 'my number: ' + i; console.log(i); }
這段代碼每次都重新定義數(shù)組長度,每次都在遍歷DOM尋找container元素 —— 太傻了!
這樣好多了:
var container = document.getElementById('container'); for(var i = 0, len = someArray.length; i < len; i++) { container.innerHtml += 'my number: ' + i; console.log(i); }
我要給留言改進(jìn)這段代碼的人額外驚喜!歡迎大家留言討論!
7. 快速構(gòu)建字串
要對一個數(shù)組或?qū)ο笞鲅h(huán)操作時,不要老惦記著一表人才的for語句,拿點創(chuàng)意出來嘛!明明就還有很多更快的辦法:
var arr = ['item 1', 'item 2', 'item 3', ...]; var list = '<ul><li>' + arr.join('</li><li>') + '</li></ul>';
“沒那么多繁文縟節(jié)來煩你;你就信我一次好了(或者你也可以自己試一試)—— 這真的是迄今能找到的最快辦法了! 用點土辦法,也別管它背后究竟發(fā)生了什么抽象的東西,通常土辦法都比那些優(yōu)雅的辦法要快捷得多!”– James Padolsey, james.padolsey.com
出處:笨活兒
責(zé)任編輯:bluehearts
上一頁 給JavaScript新手的24條實用建議 [1] 下一頁 給JavaScript新手的24條實用建議 [3]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|