iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 20
0
自我挑戰組

寇丁人妻的前端書蟲日誌系列 第 20

Day20:JavaScript 優良部份 Chapter02 文法 筆記精要

  • 分享至 

  • xImage
  •  

JavaScript 優良部份 Chapter02 文法

tags: JavaScript優良部份

空格

  • 設計用字元或註解的形式出現

  • var 和 that 之間的空格不可省略

  • 錯誤範例:會造成語法錯誤,應該以//替代。

/*
    var rm_a = /*a*/.match(s);
*/

名稱

  • 至少要有一個文字字母,其後可選擇接續一個到多個文數字元或底線。
  • 不可為保留字
  • 保留字不可作為物件實字的特性名稱,可不可接在點號後面。

數值

  • 數值表現為 64 位元的浮點數。
  • 與大部分語言的差異在於 JavaScript 沒有單獨的整數型別。
  • 數值實字包含指數,則把e前的部分乘上十次方。
  • 負數可在字首加上-運算子構成。
  • NaN 屬於數值,它代表「運算無法產生正常結果」,可用isNAN函式偵測。

字串

  • 字串實字可用單引號或雙引號圍起。
  • \為轉譯字元。
  • 所有字元都屬於 16 位元的長度範圍。
  • 沒有 character 型別,若要表示字元,讓字串只有一個字元。
  • 字串有 length 屬性。
  • 可使用+串連兩個字串。

敘述

  • 一個編譯單位包含一個可執行的敘述。

  • script標籤傳遞一個已編譯、立即執行的編譯單位。

  • var 可定義一個函式的私有變數。

  • switch、while、for、do 可具有選用的自訂標籤

  • 敘述多半由上至下執行。

  • 順序能使用條件句敘述、迴圈敘述、中斷性敘述及函式呼叫。

  • 區塊是一組大括號,就 JavaScript 來說區塊不會建立一個新的區域。

  • if 敘述根據運算結果改變流向(then or else)。

  • 以下視為 false 家族的值:

    • false
    • null
    • undefined
    • 空字串 ''
    • 數值 0
    • 數值 NaN

    除此之外,其他都視為 true,包含 true 本身、字串 'false',和所有物件。

  • switch 敘述呈現多向分支,他接受運算式,而跟後面的 case 比較,並尋找相等案例,沒有相符合則選用 default 敘述。

  • case:包含一個到多個運算式,子句敘述後應為中斷敘述。

  • while:表達一個簡單迴圈,運算結果為 false ,則中斷迴圈。

  • for:有兩種形式:

    • 一般來說:由初始句、條件句、遞增句控制。檢查迴圈是否達到標準,如果條件句為 false 則中斷迴圈。
    • 列舉物件的特性:每輪迴圈均把物件的特性名稱字串指派給變數。
  • do:和 while 很像,不過 do 要等到區塊執行之後才會檢查,意思就是他至少會執行一次。

  • try:執行一個區塊,捕捉任何由區塊丟出的例外狀況。

  • throw:負責發出例外狀況,如果敘述在 try 區塊,控制權則在 catch 子句。

  • 運算式通常是個物件實字,其中包含 name 和 message 特性。

  • return 使函式提早回傳,也能指定回傳的值,若未指定則回傳 undefined。

  • break 能跳出迴圈敘述或 switch 敘述,能選擇性地加上標籤。JavaScript 不允許在 break 和標籤之間安插行末字元。

  • 運算性敘述可指派值給一個或多數成員。

運算式

  • 運算式包含:
    • 實字值
    • 內建值
    • new + 運算式
    • delete + 精確運算式
    • 以括號圍起的運算式
    • 皆有字首運算子的運算式
    • 嵌入式運算式和其他運算式
    • ? 三元運算子 + 另一個運算式 + : + 另一個運算式
    • 一個呼叫式
    • 一個精確式
  • ! 運算元估算是 true ,運算後結果產生的結果是 false,反之為 true。
    • 運算子可做數值或字串的相加,請確認兩個運算元都是數值。
  • / 運算子能產生非整數的結果,即使兩個運算元均為整數。
  • 若第一個運算元估算為 false,&& 運算子則產生第一個運算元的值,否則產生第二個值。
  • 若第一個運算元估算為 true,|| 運算子則產生第一個運算元的值,否則產生第二個值。
  • 呼叫造成函式的執行。
  • 精確式用於指定物件特性或陣列元素。

實字

  • 物件實字,指定註記的慣例,特性名稱以名稱或字串指定。
  • 陣列實字,以指定一個新陣列的註記慣例。

函式

  • 函式實字定義了函式的值,名稱為選用,參數行為像是呼叫引數初始化的變數。

資料來源:《JavaScript 優良部份》 Douglas Crockford 著 歐萊禮
筆記純屬推廣及分享,如有侵權,請告知。
Please advise to remove immediately if any infringement caused.


上一篇
Day19:圖解 http 心得
下一篇
Day21:YDKJS 第五次讀書會(上)
系列文
寇丁人妻的前端書蟲日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言