为什么在常规IDE(如Visual Studio代码)上编译时,“ this”会返回Empty对象?

稀疏的goyal

在浏览器窗口中,当我登录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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么打印 itertools.takewhile() 返回的对象的内容会破坏后面使用它的代码?

使用AJAX调用删除对象时,为什么会返回2个响应200和204?

在添加空数组和对象时,为什么控制台会这样返回?

为什么我在Visual Studio和Qt上编译相同的代码,却得到不同的结果?

为什么当我的IDE没有时,javac会抛出编译错误?

在Visual Studio 2013上编译旧的C ++代码

在Ubuntu上的Visual Studio代码中编译C ++

不安全的代码无法在Visual Studio 2015上编译

我的 C++ 程序无法在 Visual Studio 代码上编译

Visual Studio代码打字稿无法在保存时编译

如何使用 Visual Studio 编译器在 Windows 上编译 cython 编译的 c 代码

为什么使用axios在AWS S3上获取公共对象会返回空数据?

为什么在Django上使用bulk_create通过外键插入数据会返回“属性对象不可调用”?

为什么有时使用点表示法访问对象属性会返回未定义?

为什么Visual Studio 2019不编译我的代码?

为什么允许此代码在Visual Studio 2013下编译?

当我清楚地看到编译器为何会抱怨“并非所有代码路径都返回一个值”时,为什么?

Rails:当不使用它返回的对象时,调用 ActionController::Parameters#permit() 会实现什么?

初始化不可移动对象的数组:为什么这样的代码无法在GCC上编译?

为什么Visual Studio Build Tools安装程序会立即返回而不安装任何内容?

为什么我在执行常规教程时在Visual Studio Code中显示了这么多“问题”?

为什么sizeof在不同的IDE上返回不同的值?

为什么比较对象值会返回 false?

为什么 poll() 在常规文件上立即返回并在 fifo 上阻塞?

使用Visual Studio 2012编译时,此代码给我错误,但使用代码块可以

从本机代码返回托管状态会损坏返回的对象

为什么在使用JavaScript处理条形码扫描时,扫描程序会返回额外的代码?

为什么在构建我的 c++ 代码时 cmake 会返回错误?

为什么这段代码会返回分段错误错误?