箭頭函式跟普通函式的區別

2021-10-24 10:53:31 字數 691 閱讀 3094

箭頭函式跟普通函式的區別

1.寫法不同

箭頭函式使用箭頭定義,普通函式中沒有。

//箭頭函式

(引數1,引數2.

..引數n)

=>

//普通函式

function

函式名(引數1,引數2.

..引數n)

=>

2.箭頭函式不能用於建構函式

普通函式可以用於建構函式,以此建立物件例項。

3.箭頭函式中this的指向不同

箭頭函式自身沒有this,它的this是父級普通函式的this.

在普通函式中,this總是指向呼叫它的物件或者,如果用作建構函式,它指向建立的物件例項。

4.箭頭函式不具有arguments物件

每乙個普通函式呼叫後都具有乙個arguments物件,用來儲存實際傳遞的引數。

但是箭頭函式並沒有此物件。

5.箭頭函式不能當做generator函式,不能使用yield關鍵字。

6.箭頭函式不具有prototype原型物件。

7.箭頭函式不具有super。

ES6箭頭函式解析,跟普通函式的區別

箭頭函式 let func name 等同於 let func function name 從上面可以看出,定義箭頭函式語法上要比普通函式簡潔得多。箭頭函式省去了function關鍵字,採用箭頭 來定義函式。函式的引數放在 前面的括號中,函式體跟在 後的花括號中,箭頭函式在引數和箭頭之間不能換行。如...

箭頭函式與普通函式區別

1 箭頭函式是匿名函式,不能作為建構函式,不能使用new 2 箭頭函式不繫結arguments,取而代之用rest引數 解決 3 this的作用域不同,箭頭函式不繫結this,會捕獲函式定義的上下文中的this值,作為自己的this值,且一直不變 4 箭頭函式沒有原型物件 5 箭頭函式不能當作gen...

箭頭函式和普通函式的區別

面試時被問到箭頭函式和普通函式的區別。借用別人的乙個栗子 function make var testfunc make.call testfunc testfunc.call object object可以看到箭頭函式在定義之後,this 就不會發生改變了,無論用什麼樣的方式呼叫它,this 都不...