箭頭函式與普通函式的區別:
箭頭函式是匿名函式,不能作為建構函式,不能使用new。
letfn=
()=>
let f=
newfn()
;//fn is not a constructor
箭頭函式沒有原型屬性(箭頭函式不能當作建構函式,自然就沒有建構函式的prototype的屬性)
3.this指向不同,箭頭函式的this是定義時所在的物件,普通函式看前面有沒有.,點前面是誰this 就是誰,沒有.就是window
不可以使用arguments物件,該物件在函式體內不存在。只能基於…arg獲取傳遞的引數集合,獲取到的arg是個陣列。
letfn=
(...arg)
=>fn(
10,20,
30);
箭頭函式和普通函式的區別
面試時被問到箭頭函式和普通函式的區別。借用別人的乙個栗子 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 ...