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

2021-10-25 02:51:34 字數 995 閱讀 5272

沒有prototype屬性,所以不能當建構函式函式使用,會報錯

letm=

(name,***)

=>

console.

log(m.prototype)

;//undefined;

let b =

newm

('李華',56

);// typeerror: m is not a constructor at

會報錯,這是為什麼呢?

原因:普通函式是有prototype屬性的

functionn(

)console.

log(n.prototype)

;//是乙個物件

箭頭函式中的this,是定義時,所在的執行上下文所決定的

functiona(

)}let m =

a.call

(m)//因為n這個箭頭函式是在a這個函式裡定義的,箭頭函式中的this時在所處的執行上下文決定的

//n箭頭函式的所處的執行上下文是a這個函式,所以是根據他的a中的this決定的

箭頭函式書寫更方便

當只有乙個引數時,是可以省略()小括號的

let

x= y=>x(

2)

當函式體只有一句語句,而且返回的是那一句語句是,時可以省略{}和return的

let

x= y=>y

console.

log(x(

2));

2這相當於

letx

= y=>

箭頭函式與普通函式區別

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

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

箭頭函式和普通函式的區別 首先就是 箭頭函式作為匿名函式,是不能作為建構函式的 再者就是更重要的一點 箭頭函式的特點就是不繫結this和arguments 舉個例子 settimeout function 3000 以上是乙個延時定時器中的普通function 我們都知道定時器中會改變this的指向...

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

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