上面的代码,除了 Chrome 输出 false, 其它浏览器皆为 true. 原因是 Chrome 对数组的 sort 方法进行了优化: 虽然是优化,但也是陷阱。想用 sort 来干点额外体力活时,一定要小心。var a = 0, b = 0;
[0, 0].sort(function() {
a = 1;
return 0;
});
[0, 1].sort(function() {
b = 1;
return 0;
});
alert(a === b); // true or false ?
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);
}
...
}
转载请注明 文章来源:http://www.ignet.net
详细解决方案
Chrome对数组的sort步骤优化
热度:365 发布时间:2012-08-27 21:21:57.0
相关解决方案
- chrome 如何查看url
- Chrome Javascript Click 事件,该如何解决
- chrome,fireFox获取绝对路径,该如何解决
- chrome 对JS 的一个代码不会弄!该怎么处理
- 用的aspnetpager分页存储过程,20000行,速度慢?而且无法 Sort?该如何解决
- Chrome 发出ajax请求无故多请求一次解决方法
- Chrome 下发ajax请求无故多请求一次
- 谷歌浏览器没法安装 This computer already has a more recent version of Google Chrome.If th
- Collections.sort()调用错误
- 一个简单的问题shell sort
- [求助]数字排序(selection sort)
- [求助] heap sort 排序算法(堆排序) problem
- chrome developer tool 调试技艺
- Chrome Extension中跨域请求访问外部网站数据步骤
- 为什么google 浏览器 chrome 不支持 WebService?
- 代码在IE里通常,在Google Chrome 和 火狐 Mozilla Firefox 却不正常
- chrome 开发者工具 resources内的文件不能修改,有图
- 解决360浏览器和谷歌(Google Chrome)浏览器下CSS设置字体大小小于12px无法生效的有关问题
- Chrome + DatePicker有关问题,折腾了小弟我一下午了
- 【转】Chrome Dev Tools 浅析:变为更高效的开发人员
- chrome html 用纯javascript 遍历文件夹构造
- Chrome,ie8,ie10上该怎么调整tr的显示
- 用css模拟firefox,chrome,IE等浏览器通用的title标签换行成效
- 史下最全的css hack(ie6-9,firefox,chrome,opera,safari)
- 很全的css hack(ie6-九,firefox,chrome,opera,safari)
- CSS透明技艺概总 Firefox/IE/Safari/Chrome/Opera
- php在读取数据库获取数据时,ie8可以获取到数据,chrome、360、ff等浏览器不能获取数据,该如何处理
- chrome,safari,firefox,ie6.ie7,ie8,ie9各浏览器CSS Hack小结
- chrome html+css 施用记录
- IE7,8 chrome 展示在一行,IE6展示成两行,需要怎样修改呢,该怎么处理