gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:39 26 4
gpt4 key购买 nike

我是一个 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 要做这个测试吗?

最好附上一些示例代码。

最佳答案

犹豫是否将此作为答案发布,因为我承认只是在进行有根据的猜测,但根据 MDN , Array.sort 的浏览器兼容性对于所有内容都列为 ECMAScript5 和"is"(与列出实际版本号相反)- 留下对实际支持的测试或多或少是多余的。

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

return 语句只是一系列 bool 值检查,以检查数组是否仍与最初的顺序相同。可以说这个 supportsSort 标志是用来检查浏览器/Javascript 的排序功能的实现是否实际上是一个 stable algorithm。 .

关于javascript - 为什么ExtJS要测试浏览器是否支持排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18804146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com