检测一个对象是否为数组的方式有:
- Array.isArray() // true或false(es5)
- toString.call([]); // [object Array]
- arr.constructor; // Array()
-
instanceof Array // true或false
兼容性写法:
if(typeof Array.isArray==="undefined"){ Array.isArray = function(arg){ return Object.prototype.toString.call(arg)==="[object Array]" }; }
示例代码:
var aArr=[1,2,3]; console.log(Array.isArray(aArr)); // true console.log(toString.call(aArr)); // [object Array] console.log(aArr.constructor); // Array() console.log(aArr instanceof Array); // true