修复IE9&safari 的sort方法


Posted in Javascript onOctober 21, 2011

当前版本 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);
Javascript 相关文章推荐
jQuery的Ajax时无响应数据的解决方法
May 25 Javascript
基于jquery的关于动态创建DOM元素的问题
Dec 24 Javascript
Android中资源文件(非代码部分)的使用概览
Dec 18 Javascript
jquery 无限级联菜单案例分享
Mar 26 Javascript
jQuery+CSS3实现3D立方体旋转效果
Nov 10 Javascript
JS动态给对象添加事件的简单方法
Jul 19 Javascript
jQuery实现的图片轮播效果完整示例
Sep 12 Javascript
Vue项目中设置背景图片方法
Feb 21 Javascript
vue 国际化 vue-i18n 双语言 语言包
Jun 07 Javascript
vue-router懒加载速度缓慢问题及解决方法
Nov 25 Javascript
js时间转换毫秒的实例代码
Aug 21 Javascript
vue使用一些外部插件及样式的配置代码
Nov 18 Javascript
修复ie8&amp;chrome下window的resize事件多次执行
Oct 20 #Javascript
jquery ajax return没有返回值的解决方法
Oct 20 #Javascript
IE与FireFox中的childNodes区别
Oct 20 #Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
Oct 19 #Javascript
基于jquery的$.ajax async使用
Oct 19 #Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
Oct 19 #Javascript
模拟select的代码
Oct 19 #Javascript
You might like
深入了解php4(1)--回到未来
2006/10/09 PHP
php压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
两千行代码的PHP学习笔记汇总
2014/10/05 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
Python中文件操作简明介绍
2015/04/13 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
python deque模块简单使用代码实例
2020/03/12 Python
keras的三种模型实现与区别说明
2020/07/03 Python
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
企业新年寄语
2014/04/04 职场文书
小学语文课后反思精选
2014/04/25 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
针对吵架老公保证书
2015/05/08 职场文书
责任书范本大全
2015/05/11 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
借钱欠条怎么写
2015/07/03 职场文书
班主任培训研修日志
2015/11/13 职场文书
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技
js基于div丝滑实现贝塞尔曲线
2022/09/23 Javascript