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

2021-09-23 22:37:47 字數 1219 閱讀 2934

箭頭函式:

let fun = () =>
普通函式:

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

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

let funconstructor = () => 

let fc = new funconstructor();

箭頭函式不繫結arguments,取而代之用rest引數…解決
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]

箭頭函式不繫結this,會捕獲其所在的上下文的this值,作為自己的this值
var obj = 

},c: function()

}}obj.b();

obj.c();

var obj = ,

c: function()

}}obj.b();

obj.c()();

let obj2 = ,

c: function(n) ;

return f.call(m,n);

}};console.log(obj2.b(1)); // 11

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

箭頭函式沒有原型屬性
var a = ()=>

function b()

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

console.log(b.prototype); //

箭頭函式不能當做generator函式,不能使用yield關鍵字

箭頭函式與普通函式區別

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

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

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

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

首先在es6中為我們新增了一種新的箭頭函式。箭頭函式在大部分情況下可以替代function使用,減少了一部分的 量,也讓我們的書寫更加流暢。將原有的function關鍵字和函式名都刪掉。並使用 連線引數列表和函式體 function fun index 以上的寫法等於 fun index 當形參數量...