一、JS的this指向
1.在一般函数方法中使用 this 指全局对象
2.作为对象方法调用,this 指上级对象
3.作为构造函数调用,this 指new 出的对象
二、箭头函数中的this指向
1.箭头函数的this指向来自父级上下文, 箭头函数没有自己的this
2.箭头函数的this不会在调用的时候被改变, 在箭头函数声明的时候他的this就已经被永久的确定
三、箭头函数与普通函数区别
1、箭头函数是匿名函数,不能作为构造函数,不能使用new
2、箭头函数内没有arguments,可以用展开运算符...解决
3、箭头函数的this,始终指向父级上下文
4、箭头函数不能通过call() 、 apply() 、bind()方法直接修改它的this指向。
5、箭头函数没有原型属性
四、 普通函数的arguments和类数组转换成数组
{
/* function fn(){
console.log(arguments);
// fn.caller 谁在调用当前的方法 会返回这个方法本身
// arguments.callee ===> 当前这个方法本身;
// arguments 参数集合 是一个类数组 不能调用数组的方法
}
fn(1,2,3)*/
let fn = (...args)=>{ //使用展开运算符接受参数集合
// console.log(arguments);// arguments is not defined
console.log(args); //是一个数组
}
fn(1,2,3)
}