雙倍經(jīng)驗助你升級 JavaScript編程最佳法則
JavaScript是目前Web開發(fā)中最為流行的語言之一,基本上Web開發(fā)者每天都會處理它。本篇文章為您制定了一份詳細的Javascript***實踐,希望能夠幫助您成為更加出色的Web開發(fā)者。(推薦閱讀:JavaScript初學者的10個迷你技巧)
1、使用正確的<script>標簽
如果你需要在HTML文檔中使用一些JavaScript代碼,你應(yīng)當通常會使用如下的<script>標簽:
- <script type="text/javascript">
- //insert your code here
- </script>
但是在源代碼中,以下這種標簽寫法隨處可見:
- <script type="text/javascript" language="javascript">
- //insert your code here
- </script>
在HTML中,language屬性已經(jīng)過時,因為具有type屬性后,language它是冗余的,不要再這樣寫了。
事實上,客戶端默認為將JavaScript代碼指定type=”text/javascript”屬性,除非需要type=”application/x-javascript” 這樣的類型,否則完全沒有必要寫type屬性。
2、將代碼放置于外部文件
使用外部.js文檔比在HTML文檔里直接寫JavaScript代碼要簡潔一些,同時也使得JavaScript文件可以被緩存,保證網(wǎng)站資源的快速訪問。將你的JavaScript代碼置于一個.js文檔中,然后在HTML文檔中使用<script>標簽來引入它:
- <script src="http://www.mangguo.org/myscript.js"></script>
3、避免使用HTML注釋包裹代碼
90年代一些非常古老的瀏覽器無法執(zhí)行JavaScript代碼。為了防止這些瀏覽器出現(xiàn)不必要的結(jié)果。在1994年至1997年間,在HTML中使用注釋包裹JavaScript代碼是良好的兼容方案,以保證不支持JavaScript的瀏覽器能夠忽略它。
這里是一個簡單案例:
- <script language="JavaScript">
- <!--
- //insert your code here
- //-->
- </script>
然而在2010年,所有的瀏覽器(甚至是可愛的IE 6)都能解釋JavaScript代碼,因此絕對沒有使用注釋包裹JavaScript代碼的必要了。更糟的是,如果代碼被HTML注釋包裹,并且使用了 — 符號,瀏覽器可能會誤以為HTML文檔已經(jīng)結(jié)束。
4、使用框架
除非你的JavaScript代碼很短或者很簡單,你應(yīng)該通過框架來避免過多代碼上的重復(fù)勞動。在我看來,jQuery是***的,有一個很棒的社區(qū),所以值得嘗試。
其實YUI也很棒,系統(tǒng)、強大、完善、穩(wěn)妥、有Loader機制、更高效地提高Web應(yīng)用的性能。
5、使用var關(guān)鍵字聲明變量
你應(yīng)當使用var語句來聲明變量,否則變量會存在于全局作用域內(nèi),并且使用var使得代碼可讀易懂。比如下面的案例:
- var name = "Jean";
- var size = data.length;
6、保持代碼的分離
幾年前,當一個程序員想要為一個HTML元素添加事件時(比如說,你想要在用戶輸入時驗證時間信息),他會使用特殊的屬性把JavaScript代碼放置于HTML中,比如onblur、onchange,onclick等等。比如:
- <input type="text" name="date" onchange="validateDate()" />
雖然照樣可行,但卻很不簡潔。HTML 應(yīng)當只包含文檔的結(jié)構(gòu)層面,就如同使用內(nèi)聯(lián)CSS是不好的做法一樣,內(nèi)聯(lián)JavaScript同樣不可取。
取而代之,下面的代碼如何?使用jQuery也很簡單:
- $(document).ready(function(){
- $('input[name=date]').bind('change', validateDate);
- });
7、在文檔底部包含腳本文件
不久以前,在<head>和</head>標簽之間插入腳本文件一度成為***實踐。但瀏覽器是順序解析文檔,并動態(tài)加載外部文件的。這就意味著在頁面頭部插入腳本會在安排在頁面內(nèi)容之前加載。
為了在內(nèi)容就緒之后再加載腳本,JavaScript 文件應(yīng)該在文檔底部被包含。就像下面這樣:
- <script src="myscript.js?"></script>
- </body>
- </html>
8、使用JSLint
JSLint是一款用于JavaScript源代碼檢查的應(yīng)用程序。如果它發(fā)現(xiàn)JavaScript中存在某些問題,就會返回相關(guān)的問題描述信息和大概的解決方案。
JSLint能有效發(fā)現(xiàn)代碼中的缺陷,或者說代碼風格上值得改進之處。
9、不要輕易使用document.write
陳舊的document.write方法已經(jīng)被不贊成使用了好些年,然而這仍然是一貫使用的方法。
- document.write("hello world");
應(yīng)當使用DOM的innerHTML屬性在頁面中插入文本。
- document.getElementById('hello').innerHTML = 'hello world';
原文地址:http://www.catswhocode.com/blog/best-practices-for-modern-javascript-development
【編輯推薦】