jQuery.isArray实现小析
来源:互联网 发布:宾馆收银软件 编辑:程序博客网 时间:2024/06/06 08:55
jQuery是JavaScript编程中最广泛使用开源库,它最大的贡献就是屏蔽了浏览器的不同以及浏览器版本的不同,让开发人员能够集中精力在业务逻辑上,不用再纠结于浏览器的兼容问题。jQuery确实很强大(此处应该膜拜一下),但并不神秘,有时间研究一下jQuery的代码,可以少些盲目的崇拜多些理智的敬佩, 然后是一声叹息 - 原来是这样啊!这里就以jQuery.isArray作为个入门, 其1.9.0中的实现如下:
isArray: Array.isArray || function( obj ) { return jQuery.type(obj) === "array";}
Array.isArray(obj)是ECMAScript 5标准引入的新方法,用于判断JavaScript对象是否为数组类型,现在已经被主流浏览器广泛支持, 例如:IE9,10, 11。但是,为了兼容早期的不支持Array.isArray的浏览器,jQuery特别为此提供了一个实现,也就是 || 后面定义的 function (obj) , 其中type()和class2type的实现如下:
type: function( obj ) { return obj == null ? String( obj ) :class2type[ core_toString.call(obj) ] || "object";},
core_toString = Object.prototype.toString,
// Populate the class2type mapjQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { class2type[ "[object " + name + "]" ] = name.toLowerCase();});
现在大部分的浏览器都是支持Array.isArray,可以将IE浏览器的Document Modes设置为较低的版本,如:IE7 standards, 调试进入isArray函数调用,就会走到 jQuery为不支持Array.isArray的浏览器实现的代码,如下图所示。
- jQuery.isArray实现小析
- 实现兼容的isArray()方法
- jquery中的工具方法$.isFunction, $.isArray(), $.isWindow()
- jQuery实现小动画
- jquery 实现的小实例
- jquery实现取代dom实现小例子
- Jquery实现数字微调 FineTuning 小插件
- jquery+ajax实现排名小应用
- JQuery实现动态输入提示小示例
- JQuery EasyUI实现登陆小窗口
- jQuery实现小骑车的移动
- jQuery 实现小功能之回到顶部
- jQuery实现小功能之弹出层
- jQuery实现小功能之折叠
- css3、jquery实现边框闪烁小例
- jquery 函数应用小功能实现
- jQuery小案例轮播图的实现
- Jquery实现的小案例3、小选项卡
- linux基本概念之文件基础
- nyoj-811-变态最大值
- 第九周任务
- Linux程序启动与执行路径
- cabinet可以使用Hadoop Map File实现
- jQuery.isArray实现小析
- 关于IllegalArgumentException: Comparison method violates its general contract!
- 度优化我们要最好哪些细节才能避免优化过度
- 关于代码腐烂的隐喻
- Ubuntu 12.04 LTS 版下gnome3 桌面推荐扩展
- 我们要跟上搜索引擎的步伐
- Ubuntu配置环境
- 《如何阅读一本书》读后感
- 为什么你不能像创业者一样对待自己的工作?