通常函数定义
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();
