一.箭頭函數(shù)語法:
1.沒有參數(shù)時
var demo = function(){
}
相當于:
var demo = () => {
}
2.只有一個參數(shù)時
var demo = function(a){
return a;
}
相當于:
var demo = a => a
3.多個參數(shù)需要用到小括號,參數(shù)間逗號間隔
var demo = function(a,b){
return a+b;
}
相當于:
var demo = (a,b) => a+b
4 . 函數(shù)體多條語句需要用到大括號
var demo = function(a,b){
if(a>b){
return a-b;
} else{
return b-a;
}
}
相當于:
var demo = (a,b) =>{
if(a>b){
return a-b;
} else{
return b-a;
}
}
5 . 返回對象時需要用小括號包起來,因為大括號被占用解釋為代碼塊了
var demo = (name,age) =>{
return ({
name: name,
age: age
})
}
6 .作為數(shù)組排序回調(diào)
var arr = [1, 9 , 2, 4, 3, 8].sort((a, b) => {
if (a - b > 0 ) {
return 1
} else {
return -1
}
})
注意:
箭頭函數(shù)的確與傳統(tǒng)函數(shù)有不同之處认轨,但仍存在共同的特點啡专。
例如:
1.對箭頭函數(shù)進行typeof操作會返回“function”单起。
2.箭頭函數(shù)仍是Function的實例双絮,故而instanceof的執(zhí)行方式與傳統(tǒng)函數(shù)一致。
3.call/apply/bind方法仍適用于箭頭函數(shù)郭卫,但就算調(diào)用這些方法擴充當前作用域,this也依舊不會變化背稼。
4.箭頭函數(shù)與傳統(tǒng)函數(shù)最大的不同之處在贰军,禁用new操作