箭头函数中的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()