在浏览器窗口中,当我登录this
窗口上下文时,会显示以下输出:Window对象。但是在这里,在普通的IDE(例如Visual Studio代码)中,当我对其进行编译时,会给我一个空的对象。为什么?以及这如何发生?
console.log(this) // in browsers output: window
// In IDE, output: {}
function test(){
return this
}
console.log(test()) // output is global // Why not empty
主要问题是this
,当我在Normal IDE上运行时,为什么返回一个空对象?谢谢您的回答。
this
引用的全球范围console.log(this)
。对于浏览器,它是window
,对于nodejs,它是Global
对象。在使用vs代码的情况下,它们将空对象作为全局对象,因为它们负担不起实现浏览器或nodejs全局对象api和属性的能力。因为它在那里调试,所以空的全局对象就足够了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句