发布于 2026-01-06 0 阅读
0

JavaScript 引擎快速概览

JavaScript 引擎快速概览

学习 JavaScript 不需要了解 JavaScript 引擎的工作原理,但了解其底层工作原理总是有益的。

请记住,每段 JavaScript 代码的解释方式都会因浏览器引擎的不同而有所差异。

JavaScript 解析:这意味着您的浏览器会读取您的 JavaScript 代码。

JavaScript 执行:这是我们的代码实际执行某些操作的过程。

当代码被解析执行时,浏览器才会使用 JavaScript 引擎。

Google Chrome 的引擎叫做 v8,而 Firebox 的引擎叫做 SpiderMonkey。

有关
Google V8
Firebox SpiderMonkey 的更多信息,请参阅

发动机通常由两部分组成:

-解释器
-编译器(通常是即时编译器,简称JIT)

注意:在本文中,我们将重点介绍引擎的一般工作原理,而不是引擎在代码执行时所做的事情。

译者

在这里,我们的引擎会解析/加载脚本(JavaScript 代码),读取它,然后将其转换为字节码,最后开始执行。生成的字节码将交给编译器。

编译器

它会将你的脚本编译成机器代码。所以,将 JavaScript 代码翻译成机器代码就是我们编译器所做的工作。

请记住:即时编译意味着我们的编译器会立即开始编译并执行已编译的代码。

JavaScript 引擎会进行优化

如果你编写了一个脚本,然后修改了其中的一部分,JavaScript 引擎会检查上次执行和当前运行之间哪些代码没有发生变化。当前版本并非总是需要重新编译。引擎会检查哪些代码已经编译过,并避免重复编译,从而加快引擎的处理速度。

浏览器 API

我们的浏览器自带一些默认函数或对象,它们可以与我们的 JavaScript 代码配合使用。当我们使用这些浏览器 API 中的函数或对象时,引擎会解释并编译我们的代码,然后浏览器就能知道这些函数或对象来自哪里。

文章来源:https://dev.to/devpato/quick-overview-to-javascript-engines-1o23