修复IE9&safari 的sort方法

 更新时间:2011年10月21日 01:15:31   作者:  
解决方案其实就是冒泡排序的一个包装,本补丁不修复各浏览的排序算法不一致的问题
当前版本 v0.2
v0.1 修复IE9-- Array.prototype.sort 不能根据 对象属性 做排序的遗憾
v0.2 修复safari 不支持函数参数
复制代码 代码如下:


!function(window){
var ua = window.navigator.userAgent.toLowerCase(),
reg = /msie|applewebkit.+safari/;
if(reg.test(ua)){
var _sort = Array.prototype.sort;
Array.prototype.sort = function(fn){
if(!!fn && typeof fn === 'function'){
if(this.length < 2) return this;
var i = 0, j = i + 1, l = this.length, tmp, r = false, t = 0;
for(; i < l; i++){
for(j = i + 1; j < l; j++){
t = fn.call(this, this[i], this[j]);
r = (typeof t === 'number' ? t :
!!t ? 1 : 0) > 0
? true : false;
if(r){
tmp = this[i];
this[i] = this[j];
this[j] = tmp;
}
}
}
return this;
}else{
return _sort.call(this);
}
};
}
}(window);

相关文章

  • plupload+artdialog实现多平台上传文件

    plupload+artdialog实现多平台上传文件

    这篇文章主要介绍了plupload+artdialog实现多平台上传文件的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • OpenLayers3实现测量功能

    OpenLayers3实现测量功能

    这篇文章主要为大家详细介绍了OpenLayers3实现测量功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • JavaScript中为什么null==0为false而null大于=0为true(个人研究)

    JavaScript中为什么null==0为false而null大于=0为true(个人研究)

    今天闲来没啥事,研究了一下有关“null”和“0”的关系。希望大家看完了能有所收获,在此与大家分享下,希望也可以受益匪浅
    2013-09-09
  • js获取网页高度(详细整理)

    js获取网页高度(详细整理)

    js获取网页高度包括(网页可见区域高,屏幕分辨率的高,屏幕可用工作区高度,js 获取浏览器高度 js 获取屏幕高度)等等,各种高度,本文详细整理了一些,需要了解的朋友可以参考下
    2012-12-12
  • JavaScript中的继承方式详解

    JavaScript中的继承方式详解

    这篇文章主要介绍了JavaScript中的继承方式详解,本文讲解了js继承的概念、原型式继承与类式继承、原型链继承、类式继承、组合继承、原型式继承等内容,需要的朋友可以参考下
    2015-02-02
  • 简单谈谈ES6的六个小特性

    简单谈谈ES6的六个小特性

    ES6(ECMAScript2015)的出现,无疑给前端开发人员带来了新的惊喜,它包含了一些很棒的新特性,可以更加方便的实现很多复杂的操作,提高开发人员的效率。JS社区的每个人都喜欢新的API、语法以及一些简单、明了更高效的完成重要任务的新特性。下面来一起看看吧。
    2016-11-11
  • javaScript封装的各种写法

    javaScript封装的各种写法

    这篇文章主要介绍了javaScript封装的各种写法,通过列举优缺点和使用场景详细介绍了几种封装的格式,需要的朋友可以参考下
    2017-08-08
  • javascript解析json格式的数据方法详解

    javascript解析json格式的数据方法详解

    这篇文章主要介绍了javascript解析json格式的数据方法详解,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 利用JavaScript如何查询某个值是否数组内

    利用JavaScript如何查询某个值是否数组内

    这篇文章主要给大家介绍了关于利用JavaScript如何查询某个值是否数组内的相关资料,文中通过示例代码分别介绍了实现该问题的一些解决方法是否可行,需要的朋友可以参考借鉴,下面跟着小编来一起学习学习吧。
    2017-07-07
  • 如何在JavaScript中比较日期详解

    如何在JavaScript中比较日期详解

    我们在日常开发过程中经常会用到JavaScript语言在前端代码中,进行日期的选择,下面这篇文章主要给大家介绍了关于如何在JavaScript中比较日期的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11

最新评论