本篇主要介紹var關鍵字、變量的undefined和null狀態、異常處理、命名規範。javascript
1. var 關鍵字:介紹var關鍵字的使用。html
2. 變量的狀態:介紹變量的未定義、已定義未賦值、已定義已賦值 三種狀態。java
3. JS異常:介紹對JS異常的處理。web
4. 命名規範:介紹Js的基本命名規範。ajax
聲明做用;如聲明個變量。瀏覽器
var c = 1;
在javascript中,若省略var關鍵字而直接賦值,那麼這個變量爲全局變量,哪怕是在function裏定義的。服務器
<script type="text/javascript"> function Define() { a = 2; } function Hello() { alert(a); } </script>
如代碼所示,運行函數Define()後,變量a聲明爲全局變量。在Hello()函數中能夠引用變量a。app
變量的狀態通常有三種:未定義、已定義未賦值、已定義已賦值。函數
前面兩種狀態不處理好,每每會形成異常現象。工具
代碼引用了一個未定義的變量後,瀏覽器會報錯:變量未定義。
可經過typeof()方法來判斷變量是否未定義(已定義未賦值的變量也會顯示undefined)。
<script type="text/javascript"> function Show() { if (typeof (b) == "undefined") { alert("變量b未定義"); } } </script>
<script type="text/javascript"> var a; function Show() { alert(a);//輸出 undefined } </script>
function Show() { var a; if (typeof (a) == 'undefined' && a == null) alert("a未賦值"); } }
javascript的異常處理有三個關鍵字:try、catch、throw
try:包含可能出錯的js語句。
catch:捕獲出現的錯誤。
throw:建立自定義錯誤。
var erra; function ShowError() { try { erra = errb; //errb未定義 alert(erra); } catch (ex) { alert(ex); //輸出異常信息:(Chrome)errb is not defined ,(IE)'errb'未定義 } }
要加一個條件判斷:
function ShowError() { try { if (typeof (errb) == "undefined") throw "errb未定義"; erra = errb; } catch (ex) { alert(ex); //輸出異常信息:(Chrome和IE)"errb未定義" } }
IE中,未捕獲的異常,會在左下角提示」網頁上有錯誤":
Chrome中,除非打開(F12)開發者工具,纔會跳到異常地方。不然會被瀏覽器自動忽略。
可在catch塊中,經過ajax把捕獲的異常信息發送到服務器,以幫助代碼改進。
首先JavaScript是區分大小寫,如下只是便於閱讀和維護,而不是必須的:
1.函數名稱採用駱駝命名法:第一個單詞小寫,第二個單詞首個字母爲大寫。如系統自帶的函數:parseInt、isNaN
2.對象名稱第一個字母大寫。如:Math、Number、Array
3.事件多爲on開頭,而且小寫。如:onclick、onload
更多信息可閱讀:3.10 Js的開發規範