jq中的isArray方法分析,如何判断对象是否是数组
2013-07-18 21:40
447 查看
<!DOCTYPE html> <html> <head> <title>jq中的isArray方法分析</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div class="warp"> </div> <script type="text/javascript"> //下面是从jquery 1.9中抽出来的源码 var class2type = {},core_toString = class2type.toString; //在firefox chrome IE9 IE10中都支持 Array.isArray //使用方法 Array.isArray([]) 返回 true //但是在IE7或更低版是不支持的 var isArray = Array.isArray || function( obj ) { return type(obj) === "array"; }; /* 这一行也不能忽略 948行 jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); }); 一开始没关注这段代码,结果弄了半天 type([])都是返回 object 那这段代码用JS写出来如下 */ var arr = "Boolean Number String Function Array Date RegExp Object Error".split(" "); for(var i in arr){ class2type[ "[object " + arr[i] + "]" ] = arr[i].toLowerCase(); }; var type = function( obj ) { if ( obj == null ) { return String( obj ); } return typeof obj === "object" || typeof obj === "function" ? class2type[ core_toString.call(obj) ] || "object" : typeof obj; // 相当于return (typeof obj === "object" || typeof obj === "function")?(class2type[ core_toString.call(obj) ] || "object"): typeof obj; }; //这样就可以了 //后来在网上搜索了一下 发现了网上提供的方案是 return Object.prototype.toString.call(obj) === '[object Array]'; //详情查看 http://sofish.de/1591 </script> </body> </html>
相关文章推荐
- java判断对象是否为数组 并且取得数组的值 --- 用instanceof或则isArray() 方法
- java判断对象是否为数组 并且取得数组的值 --- 用instanceof或则isArray() 方法
- indexOf() 如何判断一个元素在指定数组中是否存在? 找出指定元素出现的所有位置? indexOf()方法 是正序查找,lastIndexOf()是倒叙查找
- isArray()方法 判定此Class对象是否表示一个数组类
- 如何判断一个对象是否是数组。
- javascript如何判断数组内元素是否重复的方法集锦
- javascript如何判断数组内元素是否重复的方法集锦
- javascript中判断一个对象是否是数组的几种方法
- 如何用最简单最快的方法判断一个BMP图片是否为黑白图片?我现在是全图片scanline 然后再加以分析,太慢了,有没有直接的函数可以做到呢?
- javascript如何判断数组内元素是否重复的方法集锦
- .net C# 如何判断一个对象是否具有某个方法
- 如何判断对象是否数组?
- 把传过来的Object对象转换成Collection类型的对象。isArray()方法,判定此Class对象是否表示一个数组类。java.lang.reflect.Array 对任意数组进行操作
- 判断JavaScript对象是否可用的最正确方法分析
- JS、JQ判断变量是否为数组的方法(Array)
- 判断JavaScript对象是否可用的最正确方法分析
- Java判断对象或者原始数据类型是否是数组
- Java判断对象或者原始数据类型是否是数组
- js如何判断对象是否为空