ECMAScript引擎列表

ECMAScript引擎是执行用某个版本的ECMAScript语言标准比如JavaScript写的源代码的程序。

JIT编译器引擎
下列是用于网页浏览器的新一代ECMAScript引擎，它们都实现了即时编译（JIT）或这个想法的变体。即时编译的性能利益使其更加适合于用JavaScript写的网页应用：
V8：用在Google Chrome、Node.js和的JavaScript引擎。
SpiderMonkey：在Mozilla的Gecko应用包括Firefox中使用的JavaScript引擎。这个引擎目前包括IonMonkey编译器和OdinMonkey优化模块，以前曾包括TraceMonkey编译器（第一个javascript JIT）和JägerMonkey。
JavaScriptCore：最初从KJS派生出的JavaScript解释器和JIT。它用在WebKit计划和应用如Safari中。也叫作Nitro、SquirrelFish和SquirrelFish Extreme。
Chakra：用在Internet Explorer 11中的JScript引擎，它首次出现在Internet Explorer 9(32-bit)中。
ChakraCore：在Microsoft Edge中曾用过也叫做Chakra的JavaScript引擎，2015年12月，微软将其核心构件开放源代码并重命名为ChakraCore。
Carakan：Opera Software ASA开发的JavaScript引擎，包含在Opera网页浏览器10.50发行中，直到Opera 15（2013年发行）切换到V8。
Tamarin：用在Adobe Flash中的ActionScript和ECMAScript引擎。
Nashorn：用在Oracle Java开发工具包（JDK）自从版本8的JavaScript引擎。
iv：用C++写的ECMAScript词法分析器/语法解析器/解释器/VM/方法JIT。
CL-JavaScript：在能编译成机器语言的Common Lisp实现上可以编译JavaScript至机器语言。

解释器引擎
下列引擎使用运行时解释器，它们不编译成本地机器代码故而一般而言运行得更慢：
Rhino：来自Mozilla的JavaScript引擎之一，使用Java平台。
：一个JavaScript解释器，内建了SQLite、JSON、WebSocket和ZIP虚拟文件系统支持。
Duktape：一个小体量易于嵌入的Ecmascript E5/E5.1引擎。
MuJS：一个轻量级的ECMAScript解释器库，设计用于嵌入其他软件中来为其扩展上脚本功能。最初为MuPDF开发。
njs：为网页服务器脚本和最快的VM上下文创建而优化的轻量级的JavaScript解释器，用于nginx。
Moddable SDK：是为微控制器建造应用的开发工具和运行时软件的组合，Kinoma平台的后继者，目前是活跃计划并致力于支持更新近版本的ECMAScript。
：特别用于微控制器的一个非常小体量的解释器，通过执行源代码（而非字节码），可以运行在小于8kB的RAM之下。
mjs：设计用于资源有限的微控制器的JavaScript引擎，它实现了ECMAScript 6的一个严格子集。
JerryScript：三星为小于64KB RAM的微控制器提供的一个轻量级的JavaScript引擎。
V7：嵌入式JavaScript引擎，实现了ECMAScript 5.1，声称是用C写的最小的JavaScript引擎，现已经让位给mjs。
Tiny-JS：用C++写成的极小化的JavaScript解释器。
JS-Interpreter，用JavaScript实现的轻量级的JavaScript解释器，带有step-by-step执行。
GNU Guile：GNU Scheme实现，自版本1.9起提供ECMAScript 3.1解释器。

不活跃项目
KJS：用于Konqueror的引擎，是KHTML的一个构件，是JavaScriptCore的前身。
QtScript：由Trolltech最初开发，现在属于Qt公司，它提供QObject与JavaScriptCore的集成。
JScript：用在Internet Explorer版本直到IE9(64-bit)的引擎，是Trident排版引擎的一个构件。
Futhark： Opera网页浏览器版本9.50到10.10的ECMAScript引擎。
Linear B：专门用在Opera网页浏览器版本7.0到9.50的ECMAScript引擎。
InScript：用在iCab2和3的一个废弃了的专有库。
Kinomajs：一个ECMAScript 6运行时环境和框架。这是正确实现几乎所有ECMAScript 6标准的首批运行时之一，目前无维护。
YAJI：基于Jean-Marc Lugin开始于1999年的FESI实现的一个ECMAScript引擎，使用Java平台，开发至支持ECMAScript 5.1。
Continuum：支持ECMAScript 6规定的旧草案的自解释器。很特别的，这个引擎是用ECMAScript 3实现的，这使得有可能在像IE6这样老的浏览器中运行ES6。
Narcissus：用JavaScript实现的JavaScript（自循环解释器），意图在另一个JavaScript引擎中运行，唯有理论和教育意义。

参见
JavaScript引擎比较
JavaScript引擎
应用虚拟化软件比较

引用

软件列表
JavaScript引擎