1、typeof
可以判断基本的数据类型,但是对于array和null判断不出来
2、instanceof
判断是否是某一个对象的实例,实际上是判断原型链上是否存在
数组肯定是对象,但对象不一定是数组
3、constructor
a.constuctor==Array
4、Object.prototype.toString.call(value)
Object.prototype.toString.call(value) === "[object Array]";
5、isArray
判断是不是数组
6、判断是不是json对象
typeof(data) == "object" &&Object.prototype.toString.call(data).toLowerCase() == "[object object]" && !data.length