修复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 photoFrame 图片边框美化显示插件
Jun 28 Javascript
jQuery UI插件自定义confirm确认框的方法
Mar 20 Javascript
JavaScript数组迭代器实例分析
Jun 09 Javascript
Jquery实现仿京东商城省市联动菜单
Nov 19 Javascript
JS传值出现中文参数乱码的解决方法
Jun 30 Javascript
JS百度地图搜索悬浮窗功能
Jan 12 Javascript
three.js中文文档学习之通过模块导入
Nov 20 Javascript
Element-ui DatePicker显示周数的方法示例
Jul 19 Javascript
Vuex实现数据共享的方法
Dec 20 Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 Javascript
详解Vite的新体验
Feb 22 Javascript
ES6 解构赋值的原理及运用
May 25 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
php获取mysql版本的几种方法小结
2008/03/25 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
php实现word转html的方法
2016/01/22 PHP
详解PHP字符串替换str_replace()函数四种用法
2017/10/13 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
extjs 列表框(multiselect)的动态添加列表项的方法
2009/07/31 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
Python3基础之list列表实例解析
2014/08/13 Python
Python过滤列表用法实例分析
2016/04/29 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
读书心得体会
2013/12/28 职场文书
平安校园建设方案
2014/05/02 职场文书
省文明单位申报材料
2014/05/08 职场文书
用Python爬取某乎手机APP数据
2021/06/15 Python
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python