V8 JavaScript 引擎

V8是JavaScript引擎的名称,它为Google Chrome提供支持。它是获取我们的JavaScript并在使用Chrome浏览时执行它的东西。

V8 提供了 JavaScript 执行的运行时环境。DOM 和其他 Web 平台 API 由浏览器提供。

很酷的事情是,JavaScript引擎独立于托管它的浏览器。这一关键功能促成了Node.js的兴起。早在2009年,V8就被选为为Node.js提供动力的引擎,随着Node.js的普及,V8成为现在为大量用JavaScript编写的服务器端代码提供支持的引擎。

Node.js生态系统是巨大的,这要归功于V8,它也为桌面应用程序提供支持,还有Electron等项目。

其他 JS 引擎

其他浏览器有自己的JavaScript引擎:

还有许多其他存在。

所有这些引擎都实现了 ECMA ES-262 标准,也称为 ECMAScript,JavaScript 使用的标准。

对性能的追求

V8 是用 C++ 编写的,并且还在不断改进。它是便携式的,可以在Mac,Windows,Linux和其他几个系统上运行。

在这个V8介绍中,我们将忽略V8的实现细节:它们可以在更权威的网站(例如V8官方网站)上找到,并且它们会随着时间的推移而变化,通常是彻底的。

V8 一直在不断发展,就像其他 JavaScript 引擎一样,以加速 Web 和 Node.js生态系统。

在网络上,有一场关于性能的竞赛已经持续了多年,我们(作为用户和开发人员)从这种竞争中受益匪浅,因为我们年复一年地获得更快,更优化的机器。

汇编

JavaScript通常被认为是一种解释型语言,但现代JavaScript引擎不再只是解释JavaScript,而是编译它。

这种情况自2009年以来一直在发生,当时SpiderMonkey JavaScript编译器被添加到Firefox 3.5中,每个人都遵循这个想法。

JavaScript 由 V8 通过实时 (JIT) 编译内部编译,以加快执行速度。

这似乎有悖常理,但自从2004年推出Google Maps以来,JavaScript已经从一种通常执行几十行代码的语言演变为在浏览器中运行数千到数十万行的应用程序。

我们的应用程序现在可以在浏览器中运行数小时,而不仅仅是几个表单验证规则或简单的脚本。

在这个新世界中,编译JavaScript是完全有意义的,因为虽然可能需要更多一点时间来准备JavaScript,但一旦完成,它将比纯粹的解释代码性能更高。