1.this總是指向函數(shù)的直接調(diào)用者
2.如果有new關(guān)鍵字遥赚,this指向new出來的那個對象
3.DOM事件中this指向目標元素
4.箭頭函數(shù)中的this指向他所在函數(shù)級別的作用域
let p1={name:'p1'}
let p2={name:'p2'}
let getName=function(){
console.log(this,'函數(shù)')
}
getName()//window
p1={
...p1,
getName
}
p1.getName()//p1
const Cat=function(name,age){
this.name=name
this.age=age
console.log(this,'cat')//Cat
}
let c1=new Cat('mimi',2)
指向箭頭函數(shù)定義時所處的對象,而不是箭頭函數(shù)使用時所在的對象,默認使用父級的this..箭頭函數(shù)中的this,首先從它的父級作用域中找缘圈,如果父級作用域還是箭頭函數(shù)翰萨,再網(wǎng)上找铁材,如此直至找到this的指向
var a={
b:function(){
console.log(this)
},
c:{d:()=>{
console.log(console.log(this))
}}
}
a.b()//a
a.c.d() //window