gpt4 book ai didi

javascript - 为什么在常规 IDE(如 visual studio 代码)上编译时 `this` 返回空对象?

转载 作者:行者123 更新时间:2023-11-30 13:56:22 24 4
gpt4 key购买 nike

在浏览器窗口中,当我在窗口上下文中记录 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

主要问题是当我在 Normal IDE 上运行时,为什么 this 返回一个空对象?感谢您的回答。

最佳答案

this 引用了 console.log(this) 中的全局范围。对于浏览器,它是 window,对于 nodejs,它是 Global 对象。在 vs 代码的情况下,他们将空对象作为全局对象,因为他们无力实现浏览器或 nodejs 全局对象 api 和属性。由于它用于调试,因此空的全局对象就足够了。

关于javascript - 为什么在常规 IDE(如 visual studio 代码)上编译时 `this` 返回空对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57214221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com