修复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 相关文章推荐
[HTML/CSS/Javascript]WWTJS
Sep 25 Javascript
Jquery时间轴特效(三种不同类型)
Nov 02 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
Jan 18 Javascript
three.js快速入门【推荐】
Jan 21 Javascript
node.js入门教程之querystring模块的使用方法
Feb 27 Javascript
create-react-app修改为多页面支持的方法
May 17 Javascript
JS获取月的第几周和年的第几周实例代码
Dec 05 Javascript
javascript实现贪吃蛇经典游戏
Apr 10 Javascript
微信小程序实现滑动操作代码
Apr 23 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
May 28 Javascript
基于vue+element实现全局loading过程详解
Jul 10 Javascript
JS绘图Flot应用图形绘制异常解决方案
Oct 16 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中的字符串函数
2006/10/09 PHP
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
ThinkPHP 404页面的设置方法
2015/01/14 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
ArrayList类(增强版)
2007/04/04 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
Python中dict和set的用法讲解
2019/03/28 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
python实现简单的学生管理系统
2021/02/22 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
.NET程序员的数据库面试题
2012/10/10 面试题
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
2015年除四害工作总结
2015/07/23 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python