1.ECMAScript5中有一个现成的方法:Array.isArray()。
var obj = {1:[1],2:[2]},
arr = [1],
str = "1";
Array.isArray(obj) // return false
Array.isArray(arr) // return true
Array.isArray(str) // return false
2.instanceof
instanceof操作符用于判断对象是不是类的实例。使用方法是object instanceof Class
var obj = {1:[1],2:[2]},
arr = [1],
str = "1";
obj instanceof Array // return false
arr instanceof Array // return true
str instanceof Array // return false
3.原型
所有Javascript对象都派生自Object对象,可以通过call方法调用Object的prototype属性判断对象是不是数组。
var obj = {1:[1],2:[2]},
arr = [1],
str = "1";
Object.prototype.toString.call(obj); //return "[object Object]"
Object.prototype.toString.call(arr); //return "[object Array]"
Object.prototype.toString.call(str); //return "[object String]"