修复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 相关文章推荐
三级下拉菜单的js实现代码
May 23 Javascript
javascript返回顶部效果(自写代码)
Jan 06 Javascript
javascript实现验证身份证号的有效性并提示
Apr 30 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
Jun 28 Javascript
Angular2表单自定义验证器的实现
Oct 19 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
js遍历获取表格内数据的方法(必看)
Apr 06 Javascript
xmlplus组件设计系列之列表(4)
Apr 26 Javascript
基于Vue-cli快速搭建项目的完整步骤
Nov 03 Javascript
vue router导航守卫(router.beforeEach())的使用详解
Apr 19 Javascript
Vue函数式组件-你值得拥有
May 09 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 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
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
php基本函数汇总
2015/07/09 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
jquery 问答知识整理
2010/02/11 Javascript
Safari5中alert的无限循环BUG
2011/04/07 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
vue.js学习笔记之v-bind和v-on解析
2018/05/03 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
Python3的socket使用方法详解
2020/02/18 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
python从PDF中提取数据的示例
2020/10/30 Python
前台文员个人求职信范文
2014/01/05 职场文书
高二地理教学反思
2014/01/24 职场文书
服务员岗位责任制
2014/02/11 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
幼儿园小班评语
2014/04/18 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
幼儿园老师新年寄语
2015/08/17 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL