天天看點

JavaScript 基本文法

辨別符

  • 第一個字元,可以是任意Unicode字母(包括英文字母和其他語言的字母),以及美元符号(

    $

    )和下劃線(

    _

    )。
  • 第二個字元及後面的字元,除了Unicode字母、美元符号和下劃線,還可以用數字

    0-9

JavaScript有一些保留字,不能用作辨別符:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。

來源: 

http://javascript.ruanyifeng.com/grammar/basic.html

還有三個詞雖然不是保留字,但是因為具有特别含義,也不應該用作辨別符:

Infinity

NaN

undefined

類數組對象的周遊可以使用和數組對象的周遊一樣的方法,

JavaScript 基本文法

js使用者自定義錯誤

JavaScript 基本文法
JavaScript 基本文法
JavaScript 基本文法

下面的例子充分反映了

try...catch...finally

這三者之間的執行順序。

function f() {
  try {
    console.log(0);
    throw 'bug';
  } catch(e) {
    console.log(1);
    return true; // 這句原本會延遲到finally代碼塊結束再執行
    console.log(2); // 不會運作
  } finally {
    console.log(3);
    return false; // 這句會覆寫掉前面那句return
    console.log(4); // 不會運作
  }

  console.log(5); // 不會運作
}

var result = f();
// 0
// 1
// 3

result
// false
           

上面代碼中,

catch

代碼塊結束執行之前,會先執行

finally

代碼塊。從

catch

轉入

finally

的标志,不僅有

return

語句,還有

throw

語句。

function f() {
  try {
    throw '出錯了!';
  } catch(e) {
    console.log('捕捉到内部錯誤');
    throw e; // 這句原本會等到finally結束再執行
  } finally {
    return false; // 直接傳回
  }
}

try {
  f();
} catch(e) {
  // 此處不會執行
  console.log('caught outer "bogus"');
}

//  捕捉到内部錯誤
           

上面代碼中,進入

catch

代碼塊之後,一遇到

throw

語句,就會去執行

finally

代碼塊,其中有

return false

語句,是以就直接傳回了,不再會回去執行

catch

代碼塊剩下的部分了。

http://javascript.ruanyifeng.com/grammar/error.html 來自為知筆記(Wiz)
上一篇: 建立VUX項目

繼續閱讀