修复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操作cookie的文章(设置,删除cookies)
Apr 01 Javascript
js通过地址栏给action传值(中文乱码全是问号)
May 02 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 Javascript
举例说明如何为JavaScript的方法参数设置默认值
Nov 17 Javascript
js仿淘宝和百度文库的评分功能
May 15 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
Jul 25 Javascript
JS出现失效的情况总结
Jan 20 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 Javascript
JavaScript变量作用域_动力节点Java学院整理
Jun 27 Javascript
layui自定义ajax左侧三级菜单
Jul 26 Javascript
Node.js API详解之 zlib模块用法分析
May 19 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
Jun 05 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 XPath对XML文件查找及修改实现代码
2011/07/27 PHP
simplehtmldom Doc api帮助文档
2012/03/26 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
2015/06/24 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
javascript数据结构中栈的应用之符号平衡问题
2017/04/11 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
Python爬虫常用小技巧之设置代理IP
2018/09/13 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
Python3爬虫全国地址信息
2019/01/05 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
简单了解Python3 bytes和str类型的区别和联系
2019/12/19 Python
linux面试题参考答案(5)
2016/11/05 面试题
中专生毕业个人鉴定
2014/02/26 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
创先争优承诺书范文
2014/03/31 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
事业单位年度考核评语
2014/12/31 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
环保建议书范文
2015/09/14 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏