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

为什么Node.js没有本地DOM?

方砚
2023-03-14
问题内容

当我发现 Node.js是使用V8 JavaScript引擎构建的时 ,我想到:

太好了,因为网页将像在浏览器中一样呈现,并且具有支持XPath的“本机” DOM和在执行的页面上进行的任何AJAX调用,因此网页抓取将更加容易。

  1. 当它使用与Chrome相同的JavaScript引擎时,为什么没有本地DOM?
  2. 为什么它没有在已检索页面中运行JavaScript的模式
  3. 我对JavaScript引擎与Web浏览器中的引擎不了解什么?

非常感谢!


问题答案:

DOM是DOM,而JavaScript实现只是一个单独的实体。DOM表示Web浏览器向JavaScript环境公开的一组功能。但是,不 要求
任何特定的JavaScript运行时都具有通过全局对象公开的 任何 功能。

Node.js是一个 完全独立 于Web浏览器的 独立 JavaScript环境。Web浏览器和JavaScript之间没有内在的联系。DOM
不是 JavaScript语言或规范或任何内容的一部分。

我在基于Java的Web服务器中使用了基于Rhino
Java的旧JavaScript实现。该环境也与任何DOM都不相关。这是我自己的应用程序,负责用实现我所需的功能来填充全局对象,而不是DOM。

请注意,如果要在Node项目中使用虚拟DOM,则可以使用jsdom之类的项目。由于其作为服务器端平台的本质,DOM是Node可以做到的一种功能,并且对于多种服务器应用程序仍然是十分有意义的。这并不是说DOM对某些人可能没有用,但它与流程控制,I
/ O,网络,数据库互操作等不属于同一类服务。

对于“为什么”的问题,可能会有一些“官方”答案。在那里,但基本上只是维护Node的人员(现在是Node
Foundation)的业务。如果那里有一些勇敢的开发人员决定默认情况下,Node应该附带一组模块来支持虚拟DOM,并且成功地工作并且能够实现,那么Node
拥有一个DOM。



 类似资料:
  • 书上说这段代码在目录被glob匹配的情况下(如node_modules/fs.stat)应该报错,但是我在本地执行没有。 下面代码实现了一个copy的功能,将source directory下的所有文件复制到destination directory。 对这段代码的几点说明: 此处的glob版本为7.2.3,最新版本的glob是基于promise的,不再支持回调。 fs-extra提供了更多的功能

  • 几乎每个Spring项目都使用spring-beans.xsd(更精确地说是指它)。然而,如果你看一下文件,http://www.springframework.org/schema/beans/spring-beans.xsd,你会发现它是3.2版本,并且没有属性“本地”的定义。 更有趣的是http://www.springframework.org/schema/beans/spring-be

  • 我试图理解object.clone()在Java中是如何工作的。我偶然发现了以下事实: null 疑点: 为什么Java设计者会做出这样的设计选择并这样实现它?为什么不在本身中定义,如果实现类不为提供实现,那么将产生编译时错误。 Q2.为什么要在运行时检查实例是否实现? 附:我知道在一个问题中问多个问题是一个坏主意。但这些都是密切相关的问题。我可以问一个问题,比如“为什么不包含?”但是,我觉得,为

  • 问题内容: 我正在尝试做这样的事情: 不幸的是,即使在Java 9中也不存在。 为什么它被遗漏了? 建议的解决方法是什么? 问题答案: 为什么它被遗漏了? 该API提供了可重用的构建块。这里的相关积木是,,。通过这些,您可以实现所需的功能:将流内映射到对象,然后获得平面图。提供构建基块的排列是不切实际的,并且很难扩展。 建议的解决方法是什么? 如前所述,使用可用的构建基块(+ ):

  • 许多编译器都提供128位整数类型,但我使用过的编译器都没有提供typedefs。为什么? 据我回忆,标准 用于此目的的储量 鼓励提供此类类型的实现提供typedef 要求此类实现提供至少128位的intmax_t (而且,我不相信我使用了实际上符合最后一点的实现)

  • 我也下载了JDK,我在每个论坛上看到这个问题,都说要添加变量JDK\u HOME或JAVA\u HOME,我两个都试过了,但仍然没有打开。 我重新安装了Android Studio并重新启动了我的计算机,但它没有打开。我得到了这样的加载图标,但它只是卡在上面。 我正在运行Windows 8.1,并且安装了最新版本的JDK。非常高兴能开始编写代码,如有任何帮助或建议,将不胜感激。