Javascript 为什么ExtJS要测试浏览器是否支持排序?

Javascript 为什么ExtJS要测试浏览器是否支持排序?,javascript,arrays,sorting,extjs,Javascript,Arrays,Sorting,Extjs,我是一个javascript新手,下面是ExtJS的代码,这让我很困惑: supportsSort = (function() { var a = [1,2,3,4,5].sort(function(){ return 0; }); return a[0] === 1 && a[1] === 2 && a[2] === 3 && a[3] === 4 && a[4] === 5; }()), 有人能告诉我为什么Ex

我是一个javascript新手,下面是ExtJS的代码,这让我很困惑:

supportsSort = (function() {
    var a = [1,2,3,4,5].sort(function(){ return 0; });
    return a[0] === 1 && a[1] === 2 && a[2] === 3 && a[3] === 4 && a[4] === 5;
}()),
有人能告诉我为什么ExtJS要做这个测试吗


最好附上一些示例代码。

我不太愿意将此作为答案发布,因为我承认这只是一个有根据的猜测,但根据,的浏览器兼容性被列为ECMAScript 5,所有内容都是“是”(而不是列出实际版本号),这或多或少让实际支持的测试变得多余

变量名可能有点漏掉了,因为如果您真的按照它的操作,传递给
sort
的函数只是返回
0
;通常,您可能会根据比较条件返回
1
-1
,以操纵数组的顺序-因此,通过这样做,预期的结果是数组的顺序保持不变


return语句只是一系列布尔检查,以确定数组的顺序是否与最初相同。可以说,这个
supportsSort
标志用于检查浏览器/Javascript的排序功能实现是否实际上是一个函数。

我认为需要进行此测试来检查浏览器是否支持此功能

正如本文所讨论的,您可以找到
Array.prototype.sort([comparator])
。事实表明,并非所有浏览器版本都支持排序功能


现在没有一款浏览器不支持这个功能(我说的是最新的版本)。但如果使用Ext Js开发早期版本,就需要它。

我投票支持这一点,因为我深入了解了您使用的框架:)@Emissary感谢您的重播和投票支持,我同意您发送的“留下一个测试,以获得更多或更少的实际支持”,因此我在ExtJS论坛@Emissary ha上问同样的问题,ExtJS开发团队的一个人给出了答案,你可以看到它只是跟随我发送的链接。“一些浏览器没有正确实现稳定排序”-那么我是正确的。。。你给了错误答案最好的答案:/我在ExtJS论坛上问了同样的问题,他们开发团队的一个家伙给了我一个答案,看这个+1 Evan在Sencha论坛上表示这实际上是正确的答案…我是一个犹豫不决的人,我把@Riku作为正确答案,因为答案中有两个链接可以更好地帮助我,但你们都认为这是最好的答案:(,但还是非常感谢你们,你们很有帮助!@Xiaosiyuan不用担心,伙计。