本篇主要介紹var關鍵字、變量的undefined和null狀態、異常處理、命名規範。javascript
1. var 關鍵字:介紹var關鍵字的使用。html
2. 變量的狀態:介紹變量的未定義、已定義未賦值、已定義已賦值 三種狀態。java
3. JS異常:介紹對JS異常的處理。ajax
4. 命名規範:介紹Js的基本命名規範。瀏覽器
聲明做用;如聲明個變量。服務器
var
c = 1;
|
在javascript中,若省略var關鍵字而直接賦值,那麼這個變量爲全局變量,哪怕是在function裏定義的。app
1
2
3
4
5
6
7
8
|
<script type=
"text/javascript"
>
function
Define() {
a = 2;
}
function
Hello() {
alert(a);
}
</script>
|
如代碼所示,運行函數Define()後,變量a聲明爲全局變量。在Hello()函數中能夠引用變量a。函數
變量的狀態通常有三種:未定義、已定義未賦值、已定義已賦值。工具
前面兩種狀態不處理好,每每會形成異常現象。spa
代碼引用了一個未定義的變量後,瀏覽器會報錯:變量未定義。
可經過typeof()方法來判斷變量是否未定義(已定義未賦值的變量也會顯示undefined)。
1
2
3
4
5
6
7
|
<script type=
"text/javascript"
>
function
Show() {
if
(
typeof
(b) ==
"undefined"
) {
alert(
"變量b未定義"
);
}
}
</script>
|
1
2
3
4
5
6
|
<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:建立自定義錯誤。
1
2
3
4
5
6
7
8
9
|
var
erra;
function
ShowError() {
try
{
erra = errb;
//errb未定義
alert(erra);
}
catch
(ex) {
alert(ex);
//輸出異常信息:(Chrome)errb is not defined ,(IE)'errb'未定義
}
}
|
要加一個條件判斷:
1
2
3
4
5
6
7
8
9
|
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的開發規範