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

2021-10-07 13:22:21 字數 1365 閱讀 9771

箭頭函式相當於匿名函式,並且簡化了函式定義。

箭頭函式是匿名函式,不能作為建構函式,不能使用new

箭頭函式不繫結arguments,用…代替

function

a(a)a(

1,2,

3,4,

5,8)

;// [1, 2, 3, 4, 5, 8, callee: ƒ, symbol(symbol.iterator): ƒ]

let b =

(b)=

>b(

2,92,

32,32)

;// uncaught referenceerror: arguments is not defined

let c =(.

..c)

=>c(

3,82,

32,11323);

// [3, 82, 32, 11323]

let obj2 =

, c:

function

(n);

return f.

call

(m,n);}

, d:

function

(n) let m =

;return f.

call

(m,n);}

};console.

log(obj2.b(

1));

// 11

console.

log(obj2.c(

1));

// 11

console.

log(obj2.d(

1));

// 21

箭頭函式沒有原型屬性

var a =()

=>

functionb(

)console.

log(a.prototype)

;// undefined

console.

log(b.prototype)

;//

普通函式的this直接呼叫者,箭頭函式指向函式所處的物件

//匿名函式定時器由於沒有預設的宿主物件,所以預設this指向window

var obj =);

}}obj.

say();

// window

//箭頭函式在obj的作用域中,所以this指向obj

var obj =);

}}obj.

say();

// obj

箭頭函式與普通函式區別

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...