一、基本語法:
1、ES6允許使用“箭頭”(=>)定義函數
var f = a = > a
//等同於
var f = function(a){
return a;
}
2、如果箭頭函數不需要參數或需要多個參數,就使用一個圓括號代表參數部分。
//無形參
var f = () => 5;
// 等同於
var f = function () { return 5 };
//多個形參
var sum = (num1, num2) => num1 + num2;
// 等同於
var sum = function(num1, num2) {
return num1 + num2;
};
二、注意事項:
1、函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象。
var name = '張三';
var person = {
name:'李四',
age:18,
fav:function(){
console.log(this)
console.log(this.name) //李四
}
}
person.fav();
此時this指向的是使用它的對象,也就是person對象
var person2 = {
name:'李四',
age:18,
fav: ()=>{
// 當前this指向了定義時所在的對象(window)
console.log(this); // window
}
}
person2.fav();