当前位置: 首页 > 面试题库 >

Node.js中的根对象是什么

曾光远
2023-03-14
问题内容

您可能知道Node.js中的global对象:

{Object}全局名称空间对象。

在浏览器中,顶级范围是全局范围。这意味着在浏览器中,如果您位于全局作用域var中,则将定义一个全局变量。在Node中,这是不同的。顶级范围不是全局范围;var
Node模块内部的某些内容对于该模块而言是本地的。

现在,我偶然发现了root似乎无处记录的物体。

尽管似乎我可以使用root与以下方法相同的方法global

test1.js

foo = 'bar'; // foo is defined in the global scope (no var in front of foo)

test2.js

require('./test1.js');
console.log(root.foo);

在外壳中:

$ node test2.js
bar

当我检查globalroot在外壳中时,它们看起来相同。尝试:

$ node
> global
...
> root
...

因此,似乎root与相同global。但是为什么要冗余呢?为什么root没有记录?是否已弃用?


问题答案:

与完全相同global

有一些这样的未记录的属性。它们始于节点的早期,但保留它们是为了保持向后兼容,因此无需迫切删除它们。

您不应该在任何新代码中使用它们,因为将来可能会删除它们。



 类似资料:
  • /*****@作者Ahmad*/公共类NewJFrame扩展javax.swing.jFrame{ }

  • 问题内容: 每当我学习垃圾收集器时,都会听到术语“对象图”。到底是什么意思? 问题答案: 对象具有对其他对象的引用,这些对象又可以具有对更多对象(包括起始对象)的引用。这将创建对象图,在可及性分析中很有用。例如,如果起始对象是可到达的(例如,它在线程的本地堆栈中),则图形中的所有对象都是可到达的,并且确切的垃圾收集器无法收集任何这些对象。同样,如果我们创建所有可到达对象的列表,则从一组活动对象(根

  • 本文向大家介绍什么是JavaScript中的arguments对象?,包括了什么是JavaScript中的arguments对象?的使用技巧和注意事项,需要的朋友参考一下 JavaScript中的Arguments对象是一个对象,代表执行函数的参数。它的语法有两个参数: 示例 您可以尝试运行以下代码来了解什么是JavaScript中的arguments对象

  • 我试图在<code>docker compose中学习音量。yml,我从这个示例中看到了以下代码: https://docs.docker.com/compose/wordpress/ 对于全局卷,我可以理解为mySQL数据(来自 /var/lib/mysql)将保存在一个名为的对象中吗?如果这种理解是错误的,那么这段代码的正确含义是什么?

  • 问题内容: 我相信Erlang社区不会羡慕Node.js,因为它本身就进行非阻塞I / O并具有将部署轻松扩展到一个以上处理器(Node.js甚至没有内置的功能)的方法。有关更多详细信息,请访问http://journal.dedasys.com/2010/04/29/erlang- vs-node-js 和Node.js或Erlang 那Haskell呢?Haskell是否可以提供Node.js

  • 问题内容: Node.js的用途是什么?我在某处看到了这个: 如果用于设置为侦听端口,我可以改用它吗? 如果不是,为什么? 问题答案: 在许多环境(例如Heroku)中,作为一种约定,您可以设置环境变量以告知Web服务器要监听的端口。 因此,意味着:环境变量PORT中的任何内容,如果没有,则为3000。 因此,您可以将,或传递给,从而使您的服务器能够从环境中接受要监听的端口上的参数。 如果将硬编码