箭頭函式與function的區別

2021-10-25 19:15:16 字數 1686 閱讀 2731

1.箭頭函式與function定義函式的寫法不同

//function

function fn(a, b)

//arrow function

var foo =

(a, b)

=>

;

2.this的指向不同

使用function定義的函式,this的指向隨著呼叫環境的變化而變化的,而箭頭函式中的this指向是固定不變的,一直指向的是定義函式的環境。

//function定義的函式

function fuca(

)var obja =

;fuca();

//window

obja.aa(

)//obja

console.log(

'**********==='

)//箭頭函式定義的函式

let fucb=()

=>

var objb =

;fucb();

//window

objb.aa(

)//window

console.log(

'**********==='

)//函式表示式

let fucc=function (

)var objc =

;fucc();

//window

objc.aa(

)//objc

function person(name, age)

let admin = new person(

"恩諾小弦",18

);console.log(admin.name)

;console.log(admin.age)

;let student=

(name,age)

=>

let stu = new student(

"學生",10

4.普通函式可以使用arguments引數和args引數,箭頭函式不能使用arguments引數,可以使用args引數(結合三點運算子使用)

function person(..

.args)

person(1,

2,3,

4,5,

6)let student=(.

..args)

=>

student(1,

2,3,

4,5,

6)

輸出結果

5.普通函式可以是匿名函式或者具體名函式,箭頭函式只能是匿名函式(賦值給變數)

箭頭函式 與function的區別

1.箭頭函式與function定義函式的寫法 function function fn a,b arrow function var foo a,b 2.this的指向 使用function定義的函式,this的指向隨著呼叫環境的變化而變化,而箭頭函式中的this指向是固定不變的,一直指向定義函式的...

箭頭函式與普通function的區別

let obj function fn1 fn1.call obj let fn2 fn2.call obj 2.普通函式的引數是arguments,而箭頭函式是arg let arr 1,2,3 function arr 輸出 1,2,3 let a arg a arr 輸出 1,2,3 3.語法...

ES6 Function 箭頭函式

箭頭函式是es6的重要內容,為開發者帶來了很多福利,首先,先來看看箭頭函式的形式。在此之前,如果要宣告乙個函式,我們需要這樣做 function hello 或 lethello function 但是用箭頭函式看起來就優雅了很多 let hello let hello name 或者 lethel...