函式宣告與函式表示式
阿新 • • 發佈:2021-10-24
一、在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屬性指向變數名
- 函式宣告會被預解析,函式表示式不會