通常函数定义
var fn1 = function(a, b) {
return a + b
}
//函数表达式
function fn2(a, b) {
return a + b
}
箭头函数 省去了function 关键字和函数名
var fn1 = (a, b) => {
return a + b
}
(a, b) => {
return a + b
}
单一个参数时,括号可以省略;没有参数是括号不可以省略
// 无参
var fn1 = function() {}
var fn1 = () => {}
// 单个参数
var fn2 = function(a) {}
var fn2 = a => {}
// 多个参数
var fn3 = function(a, b) {}
var fn3 = (a, b) => {}
// 可变参数
var fn4 = function(a, b, ...args) {}
var fn4 = (a, b, ...args) => {}
this指向
箭头函数没有自己的this 指针,它只会从自己的作用域链的上一层继承this
function Person(){
this.age = 0;
setInterval(() => {
this.age++;
}, 1000);
}
var p = new Person();