识别数组对象
这个问题在这里已经有了答案:
在纯JavaScript中,您可以使用以下跨浏览器方法:
if (Object.prototype.toString.call(x) === "[object Array]") {
// is plain array
}
jQuery有特殊的方法:
if ($.isArray(x)) {
// is plain array
}
你可以使用instanceof
。 以下是一些FireBug测试:
test1 = new Object();
test2 = new Array();
test3 = 123;
console.log(test1 instanceof Array); //false
console.log(test2 instanceof Array); //true
console.log(test3 instanceof Array); //false
最佳做法是调用目标对象上的Object.prototype.toString()
,该对象显示内部[[Class]]
属性名称。
Object.prototype.toString.call( x ); // [object Array]
无论您是在多框架/窗口环境中工作,这会导致使用x instanceof Array
出现问题,这具有冒险性,它适用于任何对象。
较新的ES5实现,也给你方法Arrays.isArray()
,它返回true
或false
。
Array.isArray( x ); // true
最后但并非最不重要的,jQuery有它自己的.isArray()
方法,它也返回一个布尔值
jQuery.isArray( x ); // true
链接地址: http://www.djcxy.com/p/19295.html