我知道有很多博客和示例可以解释this
关键字在不同情况下的概念,并且越来越多的阅读使我感到困惑。
在下面的示例中,两个setTimeout
调用的输出是相同的,但是我肯定不是出于相同的原因
function x() {
setTimeout(() => {
console.log(this)
}, 100);
setTimeout(function() {
console.log(this)
}, 200);
}
x(); //logs window object twice
我知道
setTimeout()
函数的上下文始终是窗口。能否请您解释一下为什么两者都记录window
对象,如果我的理解是错误的,请纠正我。