这个(无用的?)javascript代码有什么作用?

在调试使用jQuery的 javascript代码时,我发现了以下代码
[0,0].sort(function()
{
    baseHasDuplicate = false;
    return 0;
});

通过我对javascript的理解,这段代码将对包含两个零的数组进行排序,并使用比较函数,该函数将始终设置一个全局变量并返回相等,这与baseHasDuplicate = false;具有相同的效果.
来自一个有价值的来源,我想我错过了一些东西.
我错过了什么或这是一个编程失败?

解决方法

如您所见,here(中文),此代码可能用于测试Chrome.编辑:请参阅下面的完整故事..

正如文章中所解释的那样,Chrome会以这样的方式优化“.sort(…)”方法,即[0,0] .sort(…)调用不会执行给定的比较函数.

文章中,Chrome的“.sort(…)”实现类似于:

function sort(comparefn) {
  var custom_compare = (typeof(comparefn) === 'function');
  function Compare(x,y) {
    if (x === y) return 0;
    if (custom_compare) {
      return comparefn.call(null,x,y);
    }
    ...
}

当0 === 0为真时,它不会调用comparefn.

在jQuery的情况下,它不会将全局变量baseHasDuplicate设置为false.

编辑:如果您浏览Sizzle的源代码,例如here(转到“Sizzle CSS Selector Engine”下的黄色部分,称为“Sizzle变量”),您将找到以下说明:

var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,done = 0,toString = Object.prototype.toString,hasDuplicate = false,baseHasDuplicate = true;

// Here we check if the JavaScript engine is using some sort of
// optimization where it does not always call our comparision
// function. If that is the case,discard the hasDuplicate value.
//   Thus far that includes Google Chrome.
[0,0].sort(function(){
        baseHasDuplicate = false;
        return 0;
});

看起来神秘莫测!

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...