iT邦幫忙

0

為了轉生而點技能-javascript,day3(陳述式及表達式、函式陳述式與函式表達式

陳述式(statement)

定義:單行程式碼,只有用來命令執行的功能,無法回傳值。

  1. 流程控制類:if、switch、break、continue、Block
  2. 宣告類:var、let、const
  3. 迴圈:do while、while、for

表達式(expression)

定義:單行程式碼,可以有值,可以利用chrom輸入該行程式碼,會出現結果。

詳細可以參考MDN的Expressions and operators
例子:

  1. 一元運算式:delete、typeof等,只有一個運算元。
  2. 二元運算式:加減乘除跟%,2個運算元及一個運算子。
  3. 三元運算式:(condition ? (True) : (False)),3個運算元及2個運算子?跟:。


函式陳述式(Function statement)

樣態:代表此類函數需要呼叫才會回傳一個值,且在創造階段就被存在記憶體裡面,且通常需要被命名。

下面的function函式被宣告為Name,此類函式稱函式陳述式,或稱為具名函式,函式陳述式皆需命名才有作用,不然就是透過IIFE立即函式來執行。

function Name(){
       console.log('執行')
}
Name();       //執行

直接打函式陳述式的名字即可執行。


函式表達式(Function expression)

樣態:把函式function當作一個物件(object type)並把值(此值為heap memory的address)賦給予變數(LHS行為),這個新函式就稱為函式表達式,在執行階段才會有這個建立。

下面的函式未予命名的稱為匿名函式。

var she = function"無名"(){
        .......
}

此時變數she接收到的是function的address,且函式在這邊為物件型式(object type)。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言