检测一个对象是否为数组的方式有:
- 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