javascript – 节点js窗口对象

参见英文答案 >
‘this’ different between REPL and script                                    2个

在浏览器上,全局对象是窗口对象,在nodejs中,全局对象是全局对象.

当我使用终端上的nodejs运行此代码时,我有这个输出

console.log(这= = global)===>这回报是假的

然后使用nodejs的交互模式

>这= =全球

真正

但是在浏览器上,console.log和这个===窗口都返回true

有什么不同?

最佳答案 我可以给你一部分答案:

In browsers, the top-level scope is the global scope. That means that
in browsers if you’re in the global scope var something will define a
global variable. In Node this is different. The top-level scope is not
the global scope
; var something inside a Node module will be local to
that module.

https://nodejs.org/api/globals.html#globals_global

但我不知道为什么顶级范围是交互模式的全局范围.

点赞