2

我记得我的朋友将 webkit javascript 引擎称为“JavaScript 核心”,但是,当我搜索答案时,safari 运行 SquirrelFish 作为其 JS 引擎。我的朋友告诉我,它可能是“开源”与“非开源”。

这意味着,webkit 是一个开源项目,因此它带有“JavaScript 核心”作为它的 JS 引擎,而 safari 不是一个开源项目,它使用 SquirrelFish 作为它的 JS 引擎。

维基说,

2008 年 6 月 2 日,WebKit 项目宣布他们将 JavaScriptCore 重写为“SquirrelFish”

这是否意味着很久以前,webkit 使用 JavaScript 核心作为其 JS 引擎,但现在它已被重写并命名为“SquirrelFish”。因此,webkit 只使用了 SquirrelFish。

我的理解正确吗?

谢谢

4

2 回答 2

3

Webkit的Wikipedia 文章给出了很好的总结:

JavaScriptCore

JavaScriptCore 是一个框架,它为 WebKit 实现提供 JavaScript 引擎,并在 OS X 的其他上下文中提供这种类型的脚本。[13][67] JavaScriptCore 最初源自 KDE 的 JavaScript 引擎 (KJS) 库(它是 KDE 项目的一部分)和 PCRE 正则表达式库。自从 KJS 和 PCRE 分叉以来,JavaScriptCore 已经改进了许多新功能并大大提高了性能。 [68] 2008 年 6 月 2 日,WebKit 项目宣布他们将 JavaScriptCore 重写为“SquirrelFish”,一个字节码解释器。[29][30] 该项目演变为 2008 年 9 月 18 日宣布的 SquirrelFish Extreme(缩写为 SFX,销售为 Nitro),它将 JavaScript 编译为本机机器代码,消除了对字节码解释器的需求,从而加快了 JavaScript 的执行速度。 [31]

所以我想说,如今,WebKit 的 JS 引擎被称为 Nitro。

于 2013-04-04T06:47:14.390 回答
0

其实 Nitro 是苹果的 JSC 市场术语,你也可以将 SFX 和 SF 认作 JSC 的内部版本名称。

于 2013-05-17T08:16:00.313 回答