1、箭头函数的创建:
/**
* 1、箭头函数的创建都是函数表达式方式(变量 = 函数);
* 这种模式下不存在变量提升,函数只能在创建完成后被执
* 行;
*/
const fn = ([形参]) => {
// 函数体
}
fn([实参]);
// 特点:(1)如果实参只有一个,小括号可以不加;
// (2)如果函数体中只有一句话,并且是return XXX,
// 可以省略大括号;
2、箭头函数中没有arguments
/**
* 1、箭头函数中没有arguments,但是可以基于剩余运算符
* 获取实参集合;而且ES6支持给形参设置默认值;
*/
let obj = {};
const fn = (context = window, ...args) => {
console.log(context, args)
}
fn(obj, 20, 30, 40); // context = obj; args = [20,30,40]
fn(); // context = window; args = [];
3、箭头函数中没有自己的this
/**
* 箭头函数中没有自己的this,它里面用到的this
* 都是自己所处上下文中的this,真实项目中一旦
* 涉及到this问题,箭头函数慎用;也就是箭头函
* 数中的this只和他定义的地方的有关,和谁执行
* 的他没有任何关系;而且,箭头函数中的this是
* 无法通过call、apply方法改变的;
*/
网友评论