1. 程式人生 > 其它 >函式宣告與函式表示式

函式宣告與函式表示式

一、在Javascript中定義一個函式的四種方式:

  • 函式宣告
  • 函式表示式
  • ES6中的箭頭函式
  • new Function()

二、函式宣告

函式宣告定義一個具有指定引數的函式。

語法:

function name([param,[, param,[..., param]]]) {
   [statements]
}

一個被函式宣告建立的函式是一個 Function 物件,具有 Function 物件的所有屬性、方法和行為。檢視 Function 以獲取 function 的詳細資訊。

預設情況下,函式是返回 undefined 的。想要返回一個其他的值,函式必須通過一個 return 語句指定返回值。

注意:使用函式宣告建立的函式可以被提升,即在函式宣告之前使用該函式。

三、函式表示式

function 關鍵字可以用來在一個表示式中定義一個函式。

語法:

let function_expression = function [name]([param1[, param2[, ..., paramN]]]) {
   statements
};

也可以使用箭頭函式,即:

let function_expression = ([param1[, param2[, ..., paramN]]]) => {
   statements
};

注意:

  • 函式表示式中的函式名(name)可以被省略。
  • 函式表示式定義的函式不會被提升,必須先宣告在使用。
  • 函式宣告與函式表示式的區別
  • 函式宣告必須帶有識別符號(函式名稱),函式表示式則可以省略
  • 表示式裡的名字不能在函式外面用,只能在函式內部用
  • 函式有一個name屬性,指向緊跟在function關鍵字之後的那個函式名。如果函式表示式沒有名字,那name屬性指向變數名
  • 函式宣告會被預解析,函式表示式不會