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

2021-10-23 11:49:56 字數 502 閱讀 6492

一.外形不同:

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

二.箭頭函式全都是匿名函式:

普通函式可以有匿名函式,也可以有具名函式。

三.箭頭函式不能用於建構函式:

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

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

五.箭頭函式不具有arguments物件:

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

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

六.其他區別:

(1).箭頭函式不能generator函式。

(2).箭頭函式不具有prototype原型物件。

(3).箭頭函式不具有super。

(4).箭頭函式不具有new.target。

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

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

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

箭頭函式 let fun 普通函式 function fun 箭頭函式相當於匿名函式,並且簡化了函式定義。箭頭函式有兩種格式,一種只包含乙個表示式,連和return都省略掉了。還有一種可以包含多條語句,這時候就不能省略和return。1 箭頭函式是匿名函式,不能作為建構函式,不能使用new let ...

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

一 箭頭函式全是匿名函式,普通函式也可以有匿名函式,也可以有具名函式。function a let a function let a 二 箭頭函式不能用於建構函式,不能使用new。三 箭頭函式不繫結this,會捕捉其所在上下文的this指,會作為自己的this值,沒有辦法改變其指向 var obj ...