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

2021-10-12 04:56:31 字數 1227 閱讀 8396

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

let fun = () =>;

function fun ()

箭頭函式相當於匿名函式,並且簡化了函式定義。箭頭函式有兩種格式:一種只包含乙個表示式,連和return 都省略掉。還有一種可以包含多條語句,這時候就不能省略和return。

不能作為建構函式,不能使用new

let fun = () => ;

let fv = new fun();

//fun is not a constructor

箭頭函式內沒有arguments, 可以用展開運算子…解決

function a(a)

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

let b = (b) =>;

b(9,3,4,5);// uncaught referenceerror: arguments is not defined

let c = (...c) =>;

c(5,6,77,88);// [5, 6, 77, 88]

箭頭函式的this,始終指向父級上下文(箭頭函式的this取決於定義位置父級的上下文,跟使用位置沒有關係,普通函式this指向呼叫的那個物件)

var a = 200;

let obj = ,

foo:()=>

}obj.fn();//100

obj.foo();//200

let obj = ,

c:function(n)

return f.call(m,n);}}

console.log(obj.b(1));//11

console.log(obj.c(1));//11

箭頭函式沒有原型屬性

var a = () =>;

function b()

console.log(a.prototype);//undefined

console.log(b.prototype);//

箭頭函式與普通函式區別

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