JavaScript 如何工作?

17 Mar 2025 | 4 分钟阅读

JavaScript 是一种客户端脚本语言,也是最有效、最常用的脚本语言之一。客户端脚本语言的意思是它在客户端(或客户端机器)的 Web 浏览器内部运行,但需要记住的一个重要事情是,客户端的 Web 浏览器也需要支持 JavaScript 或必须启用 JavaScript。如今,大多数现代Web 浏览器都支持 JavaScript 并拥有自己的 JavaScript 引擎。例如,Google Chrome 拥有自己的名为 V8 的JavaScript 引擎。

其他一些带有 JavaScript 引擎的 Web 浏览器

 网页浏览器JavaScript 引擎
1.Chakra
2.SafariJavaScript Core
3.火狐Spidermonkey

这完全取决于 Web 开发者如何以及为何使用 JavaScript,因为它可用于 Web 开发中的多种用途。JavaScript 最常见的用途之一是验证用户在表单字段中输入的数据。

通过以下示例,我们可以理解 JavaScript 的工作原理

在此示例中,我们创建了一个简单的HTML 文档,并在其中添加了我们的 JavaScript 代码。

程序

在上面的程序中,我们通过使用“alert()”方法向用户显示一个警报消息,这是 JavaScript 的一个预定义方法。我们还使用了“console.log();”方法并将“JavaScript”作为字符串传递,在检查模式下,我们可以看到控制台中的“JavaScript”,如下面的输出所示。

输出

How does JavaScript Work

正如我们在输出中看到的,程序在我们的 Web 浏览器上运行正常。

这里还出现了另一个问题:“浏览器如何理解 JavaScript 代码并运行它?”

如今,几乎所有 Web 浏览器都有自己的 JavaScript 引擎,正如我们上面讨论过的。因此,是 JavaScript 引擎理解代码并运行它。

现在让我们看看 JavaScript 引擎如何处理和运行 .js 代码。

在这种情况下,我们使用Chrome 浏览器来运行我们的程序,该程序具有“V8”JavaScript 引擎,该引擎也用于创建Node.js。正如我们已经知道的,JavaScript 是一种解释型语言,这意味着它逐行执行(或者说 JavaScript 引擎逐行转换 Js 代码并以相同的方式运行,而不是一次性转换整个程序)。

我们可以通过图表来理解典型的 JavaScript 引擎是如何工作的

How does JavaScript Work

每当我们开始在 Web 浏览器中运行 JavaScript 程序时,JavaScript 代码就会被浏览器引擎接收,引擎会运行源代码以获得输出。

在标准的 JavaScript 引擎中,源代码会经历几个步骤并被执行,正如你在上面给出的图表中看到的。

让我们更详细地了解每个步骤。

步骤 1:解析器

这是引擎的第一个阶段,每次我们运行 JavaScript 程序时,我们的代码首先被 JS 引擎内的“解析器”接收。解析器的工作是逐行检查 JavaScript 代码是否存在语法错误,因为 JavaScript 是一种解释性脚本语言,所以当解析器检测到错误时,它会抛出一种错误并停止代码的执行。

总之,我们可以说它解析 JavaScript 代码。

步骤 2:AST

一旦解析器检查了所有 JavaScript 代码并确认代码中没有任何错误,它就会创建一个称为 AST(抽象语法树)的数据结构。

我们可以通过以下示例轻松理解 AST 是什么。

示例

假设我们有一个如下所示的 JavaScript 程序

程序

一旦解析器检查了上面的 JavaScript 代码,它就会创建一个称为AST 的数据结构,正如我们上面已经讨论过的。创建的 AST(抽象语法树)看起来像给出的图片。

How does JavaScript Work

注意:这不是精确的抽象语法树,而是抽象语法树的图形表示。

步骤 3:转换为机器码

一旦解析器创建了抽象语法树,JavaScript 引擎就会将 JavaScript 代码转换为机器码(或机器可以理解的语言)。

步骤 4:机器码

当用 JavaScript 编写的程序被转换为机器语言(或字节码)时,转换后的代码被发送到系统执行,最终,该字节码像我们在第一个示例中看到的那样被系统/引擎运行。