节点 js window 对象

node js window object

在浏览器上全局对象是 window object,在 nodejs 中全局对象是 global object

当我在终端上使用 nodejs 运行 此代码时,我得到了此输出

console.log(this === global) ===> 这个return false

然后使用nodejs的交互方式

>this === global

true

但是在浏览器上 console.logthis === window returns 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

但是我不知道为什么顶级作用域在交互模式下是全局作用域。