修复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插件实现控制网页元素动态居中显示
Mar 24 Javascript
Javascript中replace()小结
Sep 30 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
May 09 Javascript
在JSP中如何实现MD5加密的方法
Nov 02 Javascript
jQuery获取Table某列的值(推荐)
Mar 03 Javascript
vue双向绑定简要分析
Mar 23 Javascript
vue2 中如何实现动态表单增删改查实例
Jun 09 Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 Javascript
vue-cli3 从搭建到优化的详细步骤
Jan 20 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
微信小程序中target和currentTarget的区别小结
Nov 06 Javascript
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
修复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
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
Json序列化和反序列化方法解析
2013/12/19 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
Python连接DB2数据库
2016/08/27 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
HTML5的革新 结构之美
2011/06/20 HTML / CSS
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
大学军训感言300字
2014/03/09 职场文书
社区先进事迹材料
2014/05/19 职场文书
重阳节活动总结
2014/08/27 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
公司员工体检通知
2015/04/21 职场文书
新学期开学寄语2016
2015/12/04 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
python 中的@运算符使用
2021/05/26 Python
Python 全局空间和局部空间
2022/04/06 Python
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android
Java中的Kotlin 内部类原理
2022/06/16 Java/Android