箭头函数中的this
箭头函数本身没有this
箭头函数中的this在向外层作用域中,一层层查找this,直到有this的定义
const obj = {
aaa() {
setTimeout(function () {
console.log(this); //window
})
setTimeout(() => {
console.log(this); //obj对象
})
}
}
setTimeout(function () {
console.log(this); //window
},1000)
console.log(this) //箭头函数相当于在这里找this所以是window
setTimeout(() => {
console.log(this); //window
},1000)
const obj = {
aaa() {
setTimeout(function() {
setTimeout(function() {
console.log(this); //window
})
setTimeout(() => {
console.log(this); //window
})
})
setTimeout(() => {
setTimeout(function() {
console.log(this); //window
})
setTimeout(() => {
console.log(this); //obj 往上找没有,最后在aaa找到this
})
})
}
}
obj.aaa()