jk's notes
  • V8 JavaScript 引擎

V8 JavaScript 引擎

V8 是 Chrome 浏览器提供的强大的 JavaScript 引擎.

V8 是 JavaScript 引擎. 它来处理 JavaScript 代码并运行. 而 DOM, 和其他平台 API, 则由浏览器提供.

很酷的是, JavaScript 引擎独立于其依附的宿主环境. 这个使得 Node.js 成为可能. 与 2009 年, 使用 V8 引擎的 Node.js 诞生.

Node.js 生态因 V8 变得强大. 也诞生了强大的桌面应用平台, 例如 Electron.

其他 JS 引擎

列举了其他浏览器的 JS 引擎:

  • 火狐的 SpiderMonkey.
  • Safari 的 JavaScriptCore (也称为 Nitro).
  • Edge 的原始引擎 Chakra, 但是后期也使用 V8.

也有其他引擎.

所有引擎基于 ES-262 开发.

对性能的追求

V8 使用 C++ 开发, 并且在不断改进, 它是可移植的, 可以运行在 Mac, Windows, 以及 Linux 以及其他系统中.

在这个 V8 介绍中, 我会忽略 V8 的实现细节: 可以在作者的站点中找到 (V8 官方站点). 它随时会更新.

V8 是发展的, 与其他 JS 引擎一样, 推动着 Web 与 Node.js 生态的发展.

在 Web 中, 得到的好处是一年又一年的性能提升.

编译

JavaScript 通常被认为是解释性的语言, 但是现代 JavaScript 是存在编译过程的.

这一境况发生在 2009 年, 火狐首先将 SpiderMonkey JavaScript 编译器添加到 Firefox 3.5 中, 然后基本成为默认的操作.

js 使用 V8 的即使编辑 (JIT) 在内部进行编译, 以加快执行的速度.

这似乎有悖直觉, 自 2004 年 谷歌 地图开始, js 已经从一个几十行代码发展成数以千计, 甚至数以万计的程序了.

如今 JS 不再是作为表单校验的简单脚本, 它甚至可以在浏览器中执行数十个小时.

如今, 编译 JS 是很有必要的, 虽然损失一点编译的时间, 但是大大提升了执行的效率.

Last Updated:
Contributors: jk