修复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 相关文章推荐
javascript基础之查找元素的详细介绍(访问节点)
Jul 05 Javascript
js中的布尔运算符使用介绍
Nov 20 Javascript
js数组循环遍历数组内所有元素的方法
Jan 18 Javascript
特殊情况下如何获取span里面的值
May 20 Javascript
JavaScript和CSS交互的方法汇总
Dec 02 Javascript
node.js中的console.assert方法使用说明
Dec 10 Javascript
js+cookies实现悬浮购物车的方法
May 25 Javascript
基于js中的原型、继承的一些想法
Aug 10 Javascript
Javascript日期格式化format函数的使用方法
Aug 30 Javascript
angularJS Provider、factory、service详解及实例代码
Sep 21 Javascript
如何在node环境实现“get数据解析”代码实例
Jul 03 Javascript
详解JS ES6编码规范
May 07 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查询相似度最高的字符串的方法
2015/03/12 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
培训讲师岗位职责
2014/04/13 职场文书
运动会加油口号
2014/06/07 职场文书
销售业务员岗位职责
2015/02/13 职场文书
大学生入党自荐书
2015/03/05 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
详解运行Python的神器Jupyter Notebook
2021/06/03 Python