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 是很有必要的, 虽然损失一点编译的时间, 但是大大提升了执行的效率.