修复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解决url传值出现中文乱码的另类办法
Apr 08 Javascript
JS仿百度搜索自动提示框匹配查询功能
Nov 21 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
Jul 29 Javascript
JavaScript中的this机制
Jan 30 Javascript
Vue-resource实现ajax请求和跨域请求示例
Feb 23 Javascript
微信小程序中的swiper组件详解
Apr 14 Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
详解ES6 中的Object.assign()的用法实例代码
Jan 11 Javascript
Canvas三种动态画圆实现方法说明(小结)
Apr 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中如何调用用户自定义函数
2013/08/06 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
AJAX架构之Dojo篇
2007/04/10 Javascript
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
Python去除列表中重复元素的方法
2015/03/20 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
中专生学习生活的自我评价分享
2013/10/27 职场文书
试用期员工考核制度
2014/01/22 职场文书
不同意离婚代理词
2015/05/23 职场文书
Python中的嵌套循环详情
2022/03/23 Python
vue生命周期钩子函数以及触发时机
2022/04/26 Vue.js
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL