陳述式 Statement
MDN 陳述式與宣告
用於命令執行指定的一系列操作,最大特徵是不會回傳結果
。
由於不會回傳結果的關係,所以陳述式不能賦予值給變數。
舉例:
- if…else
- var、let、const
- function
- for
1 | if(true) {} /* return undefined */ |
這裡回傳 undefined
並不是回傳結果
,只是瀏覽器告訴我們已經準備好記憶體空間而已
表達式 Expression
MDN 運算式與運算子
又稱表示式
、運算式
,經常透過符號結合上下語句並運算及回傳結果
JavaScript 運算式有下列幾種種類:
- 算術: 解析出數字, 例如 3.14159. (通常使用 算術運算子.)
- 字串: 解析出字串, 例如 “Fred” or “234”。 (通常使用 字串運算子.)
- 邏輯: 解析出 True 或 False (通常與 邏輯運算子 相關。)
- 主流運算式: JavaScript 基本的關鍵字及運算式。
- 左側運算式: 左側是指定值的對象。
1 | aa = 'Cloud'; /* return "Cloud" */ |
函式陳述式
又稱具名函式
,與陳述式相同,不會回傳結果
且具有 hoisting 效果
1 | function test() {} |
函式表達式
又稱匿名函式
,會宣告一個變數並搭配等號運算子以及函式組合,不具有 hoisting 效果
1 | var test = function() {} |
物件實字 VS Block
Block => 陳述式
物件實字 => 表達式
1 | /* Block */ |