箭头函数: ES6新增的语法,简化版的函数,优化了写法
箭头函数表达式更适用于那些本来需要匿名函数的地方,并且不能用作构造函数
函数形式:
1:var fn = () => 返回值;
2:var fn = 形参 => 返回值;
3:let fn3 = (形参,形参) => 返回值;
//没有参数或多个参数时,都需要带有()。 只有一个参数的时候,可以省略()
4:let fn = () => { 执行语句 }
5:let fn = (形参,形参) => {
执行语句;
return 返回值;
}
箭头函数可以设置默认参数,在箭头函数没有传入参数时默认使用默认参数参与函数
let fn = (a=10,b=15) => {
return a+b;
}
console.log(fn( ));
箭头函数的不定参:
箭头函数不绑定Arguments 对象,在大多数情况下,使用剩余参数(rest参数)是相较使用arguments对象的更好选择。
var fun = () =>{
console.log(arguments);
}
fun(1,2,3,4,5,6,2,4);
let fun2 = (...arg) => {
console.log(arg);
}
fun2(1,2,3,4,5,6,7,8);
箭头函数中this的指向问题:
箭头函数本身不会创建自己的this,它只会从自己的作用域链的上一层继承this
例如:
document.onclick = ( ) =>{
console.log(this); //此处的this指向的是window
}