JS引擎是一种专门设计用于解释和执行 JS 代码的计算机程序。它负责读取、解析(将源代码转换为可执行的代码结构)、编译(在某些情况下将代码转换为机器码以提高执行效率)、优化代码执行速度以及管理内存(包括垃圾回收)。JavaScript引擎通常集成在浏览器中,用于处理网页中的JavaScript代码,也可以独立运行在服务器端环境,如Node.js。
常见的JavaScript引擎包括但不限于:
V8:由Google开发,用于Google Chrome浏览器和Node.js服务器环境。V8引擎是基于编译器型的设计,它直接将JavaScript代码编译成机器码,提高了执行速度。
SpiderMonkey:由Mozilla开发,首次出现在Netscape Navigator中,现在是Firefox浏览器的一部分。它是第一个被实现的JavaScript引擎,也是最古老的仍在维护的JavaScript引擎之一。
JavaScriptCore(又称WebKit JS或SquirrelFish):由苹果公司开发,主要用于Safari浏览器和WebKit渲染引擎。JavaScriptCore支持JIT(Just-In-Time)编译,并允许将JavaScript代码转换为字节码执行。
Chakra(现在称为ChakraCore):最初由微软开发,用于Internet Explorer和Edge浏览器。Chakra引擎同样支持JIT编译,并强调了在游戏和图形密集型应用中的性能。
JavaScript引擎还有其他实例,比如在早期版本的Internet Explorer中使用的Trident引擎,以及一些专为特定平台或用途定制的引擎,如在Adobe产品中用于处理PDF文档中的JavaScript的引擎。