談談箭頭函式和function的區別

2021-09-27 09:45:17 字數 674 閱讀 7178

作用域:

箭頭函式指向其定義環境,this的指向無法通過其他方式改變;

function指向其直接呼叫者,一般來說最通常的是window物件,物件屬性則指向改物件;

建構函式:箭頭函式不能當做建構函式

引數問題:箭頭函式不存在arguments物件,用rest引數代替;

原型問題:箭頭函式不存在原型;

箭頭函式不能使用yield命令,因此箭頭函式不能用作genertor函式。

變數和定義提公升:

箭頭函式定義函式的時候,需要var(let、const)關鍵字;let和const不存在變數提公升,而var雖然有變數提公升卻不存在定義上的提公升;

function存在變數和定義的提公升。

// example

console.

log(a)

// uncaught referenceerror: cannot access 'a' before initializatio

console.

log(b)

// undefined 變數提公升定義不提公升c(

)// 'c' 變數和定義提公升

consta=

()=>

varb=(

)=>

functionc(

)```

ES6 Function 箭頭函式

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

箭頭函式與function的區別

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

箭頭函式 與function的區別

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