【问题标题】:Feature comparison: V8 vs. iOS JavaScriptCore功能比较:V8 与 iOS JavaScriptCore
【发布时间】:2013-07-30 11:39:23
【问题描述】:

在不使用任何非默认开关(即没有 --harmony)的情况下,是否存在 V8 (at 69a0664) 中存在但 JSC (at f27bfeb) 和 中不存在的语言特性、全局属性等反之亦然

我正在做 Android/iOS 工作,并希望确保相同的脚本可以在两者上运行。

【问题讨论】:

  • 你能澄清一下吗?如果你坚持核心语言而不是扩展(如Math.imul),那么应该没有问题。
  • 扩展名是什么?如果他们都实现了一个,我可以允许它 - 但我找不到任何明确的列表,也没有办法递归枚举全局范围内的每个属性。
  • 如果您在ecma-international.org/ecma-262/5.1中找不到它们,它们就是扩展
  • 但它们是什么?我需要 V8 和 JSC 实现的扩展列表。
  • 好吧,我只知道printMath.imul 之类的东西,抱歉,我没有任何列表

标签: android ios v8 javascriptcore


【解决方案1】:

就 ECMAScript 5 功能而言,this table 两者都试图实现一切。

Mobile Safari (iOS 6.1.3) 的 test262 失败:

  • 10.4.2_1.1 在全局执行上下文中评估
  • 10.4.2_1.2 在全局执行上下文中评估
  • 15.5.4.9_3 测试 String.prototype.localeCompare 是否将缺少的“that”参数、未定义和“未定义”视为等效
  • 15.5.4.9_CE 测试 String.prototype.localeCompare 在比较被 Unicode 标准视为规范等效的字符串时是否返回 0。
  • 15.9.3.1_5多参数日期构造

Chrome 28 的 test262 失败:

  • 11.2.3-3_3在检查对象是否实际可调用(未定义成员)之前不评估调用参数
  • 15.5.4.9_6 检查 String.prototype.localeCompare.prototype
  • 15.5.4.9_7 检查创建 String.prototype.localeCompare 对象是否失败
  • 15.8.2.8_6 在 64 个参数值的集合上检查 Math.exp 是否近似等于其数学值;所有的样本值都是用 LibC 计算出来的
  • 15.9.3.1_5多参数日期构造

警告:这些不一定是对应的版本,但正是我必须手头的。

【讨论】:

    猜你喜欢
    • 2019-09-03
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多