【发布时间】:2018-11-27 15:42:24
【问题描述】:
不同JavaScript引擎上的JavaScript函数的算法是否不同?
我在 Chrome 和 Firefox 浏览器中运行Array.sort(),它们中的两个对相同的代码执行不同。
他们是否对相同的代码使用了不同的算法?
【问题讨论】:
标签: javascript algorithm v8 spidermonkey javascript-engine
不同JavaScript引擎上的JavaScript函数的算法是否不同?
我在 Chrome 和 Firefox 浏览器中运行Array.sort(),它们中的两个对相同的代码执行不同。
他们是否对相同的代码使用了不同的算法?
【问题讨论】:
标签: javascript algorithm v8 spidermonkey javascript-engine
规范所保证的只是不稳定就地排序方法。
所以是的,不同的实现允许使用不同的算法,并且由于规范不保证算法稳定,如果您的数组值评估为相等,则不同的非稳定算法将导致不同的顺序,这是任何虚假的返回值从你传递给Array.prototype.sort()的比较函数。
【讨论】: