函式分為兩類 :
函式( function )是一個包起來的語法,在內部使用,用來執行某種任務及計算,將複雜或重複的程式碼重組為基於處理特定功能且能重複使用的程式碼,使整個專案更容易閱讀及後續維護,一個函式有幾個元素組成,分別為函式名稱、參數、還有內部的語法,常見函式宣告有二種,分別為Function Declaration(函式陳述式)、Function Expressions(函式表達式)
Function Declaration(函式陳述式) : 要用function 關鍵字並指定函式的名稱的函式
Expressions(函式表達式) : 與Function Declaration(函式陳述式) 是函式名稱可以省略,也就是匿名函式
假設我們要寫一個函式( function )是數字的平方,可以用 :
function square ( ( n = 1 ) ⇒ {
return n * n ;
} ) ;
我取了一個名稱叫square的Function Declaration(函式陳述式),參數就是 n ,n=1就是說如果沒帶參數的話,預設值就是1,而return 會中止這個函式的進行,停在那一行,並指定要回傳的值,不加return的話,回傳值會預設是undefined,像上面的函式中,就是指定回傳 n * n,當我們要取2的平方,參數 ( 也就是n ) 帶2進去,可以用 :
square ( 2 ) ;
立即執行函式( IIFE ),英文叫做Immediately Invoked Function Expression,是一個定義就馬上執行的函式,用法是在函式外面再包一層 ( ) 小括號,以下示範 :
(function () {
console.log(123)
} ) ( ) ;
這樣中控台就會馬上打印123囉。
另外在ES6後有新增箭頭函式( arrow function ),沒有參數,使寫法更簡潔了,而且當只有一行時,可以省略return 跟大括號 { },可以用 :
const a = ( ) ⇒ console.log ( 123 ) ;
這樣中控台也會打印123喔。