1、默认指向window
2、有事件源的指向事件源
3、对象里的this指向对象本身
4、构造函数里的this指向实例化对象本身
5、箭头函数中的this指向函数创建时所在作用域的环境
怎么理解最后一句话:
let obj={
aaa:12,
fun2:function(){
console.log(this); //this指向obj
}
}
obj.fun2()
当我们把函数写法改成箭头函数:
let obj={
aaa:12,
fun2:()=>{
//this创建时在全局作用域内,所以
console.log(this); //this指向window
}
}
obj.fun2()
再看this的另一种写法
let obj = {
aaa: 12,
fun1: function () {
//this创建时的作用域在fun1内,所以
//等于把this写在这,所以this指向包含它的对象obj
let obj2={
bbb:14,
fun2:()=>{
console.log(this)
}
}
return obj2
}
}
obj.fun1().fun2()