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