node.js 是否相当于浏览器中的 window 对象

IT技术 javascript node.js
2021-03-12 01:15:38

我的意思是 node.js 是否具有作为全局函数方法的对象。在浏览器中是这样的:

function myGlobalFunction() {
    console.log(this === window);
}
myGlobalFunction();

=> true
2个回答

node 中最接近的等价物是global我不确定它是否以相同的方式翻译,但是如果您打开 REPL 并输入this === global,它将返回 true。

这是关于全局对象的讨论,尽管有些信息可能已被弃用,因为它已经很旧了:node.js 中的“全局”对象

this === global 只会在 REPL 内返回 true。如果您实际上正在执行像 node myScript.js 这样的脚本文件,它将是错误的。有关解释,请参阅此帖子stackoverflow.com/questions/25336759/...
2021-05-04 01:15:38

是的,global变量是 Node.js 中的全局对象

文档

global# {Object} 全局命名空间对象。在浏览器中,顶级作用域是全局作用域。这意味着在浏览器中,如果您在全局范围 var 中,则会定义一个全局变量。在 Node 中这是不同的。顶级作用域不是全局作用域;节点module中的 var 某些内容将是该module的本地内容。