命名函式表示式 有識別符號的函式表示式

2021-09-22 10:02:16 字數 1116 閱讀 2976

定義函式的三種方法

1.函式宣告

function

functionname

(arg0, arg1, arg2)

;

函式宣告最重要的乙個特性是函式宣告提公升,即在執行**之前會先讀取函式宣告,因此可以把函式宣告放在呼叫它的語句後面。

2.函式表示式(2種),也叫函式字面量

2.1沒有識別符號的叫匿名函式(拉姆達函式)

var

functionname

=function

(arg0, arg1, arg2)

;

沒有命名的函式表示式比較常見,比如不希望函式宣告提公升時,特別是在一些初始化函式時,可以考慮使用匿名函式。

2.2 有識別符號的叫命名函式表示式

var

functionname

=function

foo(arg0, arg1, arg2)

;

3.建構函式法

var functionname =

newfunction

('arg0'

,'arg1'

,'return arg0 + arg1;'

);

命名函式表示式的應用

對於遞迴,使用arguments.callee 代替函式名,可以確保呼叫函式不出問題,但是在嚴格模式下,不能通過指令碼訪問 argumnts.callee,這時,可以使用命名函式表示式來達到相同的效果。

var factory =

(function

f(num)

else})

;f =0;

console.

log(f)

;//0

factory(2

);/*ƒ f(num)

else

}ƒ f(num)

else }2

*/

有識別符號的函式,呼叫棧會顯示被呼叫函式的函式名,方便除錯。

函式表示式

函式定義有以下兩種方式 一種是函式宣告,一種是函式表示式。函式宣告 在執行 之前會先讀取函式宣告,即函式宣告提公升。函式表示式 常用語法形式是常規的變數賦值語句,即建立乙個匿名函式並賦值給乙個變數。函式表示式在使用之前必須賦值,否則會出錯,這點與函式宣告提公升不同。能夠將匿名函式作為其他函式的值進行...

函式表示式

定義函式的方式有兩種 一種是函式宣告,另一種是函式表示式 函式宣告語法格式如下 function functionname arg0,arg1,arg2 關於函式宣告,有乙個重要的特徵就是函式宣告提公升,意思是在執行 之前會先讀取函式宣告 函式表示式語法格式如下 var functionname f...

函式表示式

函式表示式在使用前必須先賦值。函式表示式,使用前必須先賦值var functionname function arg0,arg1 匿名函式或拉姆達函式 arguments.callee 是乙個指向正在執行的函式的指標,因此可以用它來實現對函式 的遞迴呼叫,function factorial num...