跳转到内容

ECMAScript引擎列表

维基百科,自由的百科全书

这是本页的一个历史版本,由Mhss留言 | 贡献2019年5月17日 (五) 13:58 建立内容为“'''ECMAScript引擎'''是执行用某个版本的ECMAScript语言标准比如JavaScript写的源代码的程序。 ==JIT编译器引擎==…”的新页面)编辑。这可能和当前版本存在着巨大的差异。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)

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

JIT编译器引擎

下列是用于网页浏览器的新一代ECMAScript引擎,它们都实现了即时编译(JIT)或这个想法的变体。即时编译的性能利益使其更加适合用JavaScript写的网页应用:

解释器引擎

下列引擎使用运行时解释器,它们不编译成本地机器代码故而一般而言运行得更慢:

  • Continuum[11]: 支持 ECMAScript 2015规定的旧草案的自解释器[12]。这个引擎特别之处是用ECMAScript 3实现的,这使得有可能在像IE6这样老的浏览器中运行ES2015[13]
  • FutharkOpera网页浏览器版本9.50到10.10的ECMAScript引擎。
  • InScript:用在iCab2和3的一个废弃了的专有库。
  • JScript:用在Internet Explorer版本直到IE9的引擎,是Trident排版引擎的一个构件。
  • KJS:用于Konqueror的引擎,是KHTML的一个构件,是JavaScriptCore的先驱。
  • Linear B:专门用在Opera网页浏览器版本7.0到9.50的ECMAScript引擎。
  • Narcissus:用JavaScript实现的JavaScript(自循环解释器),意图在另一个JavaScript引擎中运行,唯有理论和教育意义。
  • JS-Interpreter,用JavaScript通过step-by-step执行实现的轻量级JavaScript解释器。
  • QtScript:由Trolltech最初开发,现在属于Qt公司,它提供QObject与JavaScriptCore的集成。
  • Rhino:来自Mozilla的JavaScript引擎之一,使用Java平台
  • YAJI:一个ECMAScript引擎[14],由Jean-Marc Lugin在1999年基于FESI[15]实现,使用Java平台,目前开发至支持最新标准(ECMAScript spec. 262, v5.1)[16]
  • Duktape:一个小体量易于嵌入的Ecmascript E5/E5.1引擎[17]
  • Kinoma平台:一个ECMAScript 6[18]运行时环境和框架。这是正确实现几乎所有ECMAScript 6标准的首批运行时之一,目前无维护。
  • ModdableKinoma平台的后继者,目前是活跃计划并致力于支持更新近版本的ECMAScript。
  • Jsish:一个JavaScript解释器,内建了SQLite、JSON、WebSocket和ZVFS支持[19]
  • Websocket.js:一个嵌入式Javascript引擎,带有HTTP/Websocket支持[20]
  • Espruino:特别用微控制器的一个非常小体量解释器。可以运行在小于8kB的RAM之下,通过执行源代码(而非字节码)。
  • MuJS:一个轻量级ECMAScript解释器库,设计用于嵌入其他软件中来与其扩展上脚本功能。最初为MuPDF开发[21]
  • V7:Smart.js平台的一部分;声称是世界上最小的JavaScript引擎[22]
  • Tiny-JS:用C++写成的极小化JavaScript解释器。
  • JerryScript三星为小于64KB RAM的微控制器提供的一个轻量级JavaScript引擎。
  • GNU Guile:自版本1.9起以ECMAScript解释器为其特色。
  • njs:为网页服务器脚本和最快的VM上下文创建而优化的轻量级JavaScript解释器[23],用于nginx

参见

引用