ES6 箭头函数中的this
Posted HUMILITY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 箭头函数中的this相关的知识,希望对你有一定的参考价值。
箭头函数中的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()
以上是关于ES6 箭头函数中的this的主要内容,如果未能解决你的问题,请参考以下文章