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]"