【问题标题】:Why Node.js is called "a JavaScript runtime built"?为什么 Node.js 被称为“构建的 JavaScript 运行时”?
【发布时间】:2017-11-21 04:30:12
【问题描述】:

Node.js的主页上,写的很清楚——

Node.js 是基于 Chrome 的 V8 JavaScript 构建的 JavaScript 运行时 引擎。

我试图理解什么是“runtime built”。经过一番谷歌搜索,我对此有所了解。

如果我错了,请检查我的理解并在任何地方纠正我。如果我把整个事情搞错了,请详细解释一下。

程序运行时是一个特定的持续时间,程序在此期间自行执行。

我们知道,Node.js 附带预编译的二进制程序,它运行 JS 程序。它建立在用 C++ 编写的 Chrome 的 V8 JS 引擎之上。 Node.js 直接运行一个 JS 程序并将其编译为机器码。然后操作系统执行这个机器代码。我之前讲的每一步都发生在节点程序运行时。

这就是为什么 Node.js 被称为“构建的 javascript 运行时”的原因。因为 Node 二进制文件将 JS 程序构建为机器码并由 OS 执行。所有这些都发生在我使用节点运行 JS 程序/文件的时候。

node myJs.js
// Hello World

提前致谢。

【问题讨论】:

  • 请在回答之前先仔细阅读问题标题和问题详情。

标签: javascript node.js runtime


【解决方案1】:

Node.js 是一个 JavaScript 运行时。它基于 Chrome 的 v8 引擎构建。

【讨论】:

  • 我也知道,Node.js 是一个 JavaScript 运行时,建立在 Chrome 的 v8 引擎之上。但我的问题是“为什么”?我曾试图找到“为什么”的答案。请检查答案。如果我的答案是错误的,请纠正我。
  • Node.js 结合了 Google 的 V8 JavaScript 引擎、事件循环和低级 I/O API。请参阅“Professional Node.js: Building JavaScript Based Scalable Software”,John Wiley & Sons,2012 年 10 月 1 日
【解决方案2】:

看看我的理解叫运行时如下:

Chrome 的 javascript 运行时 = google 的 V8 引擎。

V8 = JS 运行时

Nodejs = V8(即您的 js 运行时)+ Web api(用于 V8 代码库中不存在的操作)+ 任务队列(用于异步内容)

什么是 JS 运行时(V8):它使用堆提供内存分配并维护一个堆栈,该堆栈应该对要执行的操作列表进行排序。由代码指示。

每个绑定都是在运行时(执行时)完成的,如果 Nodejs 是 V8(JS 运行时),则在核心完成 V8 为 JavaScript 提供运行时 . 或许能帮到你。

【讨论】:

    猜你喜欢
    • 2022-06-13
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 2013-06-25
    • 2018-02-02
    • 2017-03-18
    • 1970-01-01
    • 2011-01-02
    相关资源
    最近更新 更多