this
- 5大调用场景:
1.普通函数
2.对象方法
3.call、apply、bind
4.class
5.箭头函数
- 普通函数中的this
function fn(){
console.log(this);
}
fn(); //相当于下面的window.fn();
window.fn();
window调用了fn,所以this指向window
- 对象方法中出现this
let a={
name:'李四',
run:function(){
console.log(this.name)//this
}
}
a.run();// a 李四
a调用的run,所以run方法中的this指向a
- call() /apply() /bind() 都可以改变this指向
let obj={
name:'小明'}
let pox={
name:'小红',
run:function(){
console.log(this