【问题标题】:Does node.js have equivalent to window object in browsernode.js 是否等效于浏览器中的窗口对象
【发布时间】:2013-11-19 21:03:21
【问题描述】:

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

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

=> true

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    节点中最接近的等价物是global。我不确定它是否以所有相同的方式翻译,但如果你打开一个 REPL 并输入this === global,它会返回 true。

    这里是关于全局对象的讨论,虽然有些信息可能会被弃用,因为它已经很老了:'Global' object in node.js

    【讨论】:

    • this === global 只会在 REPL 中返回 true。如果您实际上正在执行像 node myScript.js 这样的脚本文件,那么它将是错误的。请参阅此帖子以获取说明stackoverflow.com/questions/25336759/…
    【解决方案2】:

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

    来自docs

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多