01-this的指向问题
<script>
// 类中:回调函数里面的this没有指向:值为undefined(class产生了内部作用域:出不去,找不到window)
class Test {
showArr() {
let arr = [1, 2, 3, 4, 5]
arr.forEach(function (item) {
// console.log(item)
console.log(this)
})
// 回调函数:是直接执行fn(),前面没有对象.fn()
// 在外部:自动找到window对象:回调函数里面的this就指向window
// 在类中:自动找到外面的this,在类Test中出不去:Test类是没有this,Test.this === undefined
}
}
new Test().showArr()
// 回调函数里面的this(函数用function)
// 在类外:一定是window对象
// 在类里面:一定是undefined
// 如果回调用的箭头函数:那就是找上级
</script>
注意:
// 回调函数里面的this(函数用function)
// 在类外:一定是window对象
// 在类里面:一定是undefined
// 如果回调用的箭头函数:那就是找上级