普通函数中的this指向
this指向为window的:
1.普通函数
function a(){console.log(this)}
window.a()
2.定时器函数
window.setTimeout(function(){console.log(this)})
3.立即执行函数
(function(){console.log(this)})()
this指向为对象的
1.对象的方法
this指向的是b这个对象
var b={
helloB(){console.log(this)}
}
b.helloB()
2.事件绑定的方法
this指向的是函数调用者
var btn=querySelector('button');
btn.onclick(){
console.log(this)
}
箭头函数中的this指向
箭头函数中的this指向的是函数定义位置的上下文this(箭头函数被定义在哪里,箭头函数中的this就指向哪)
function c(){
console.log(this)
return ()=>{
console.log(this)
}
}
因为箭头函数中的this在c函数内部,所以两个this指向相同,均指向window