一、this指向
1、我们最大的作用域是window,所以在我们的全局中this指向window
2、在函数中(普通函数),this永远指向调用他的那个对象
3、在箭头函数中,箭头函数中没有this,使用的this就是箭头函数父级的this。
4、在构造函数中,this指向构造出来的实例。
注意:箭头函数种的this无法改变
二、改变this指向
1、apply
改变this指向,传入的是单个值
2、call
改变this指向,传入一个集合
3、bind
改变this指向,调用时需要额外增加一个括号
语法:
let obj = {
name:"张三",
fn(){
console.log(this.name);
}
}
let obj1 = {
name:"李四"
}
obj.fn.call(obj1,"");
// 使用call改变this指向
obj.fn.apply(obj1,[]);
// 使用apply改变this指向
obj.fn.bind(obj1)();
// 使用bind改变this指向