如何判断是数组还是对象 判断是否为数组 var a = ['1','2','3','4','5','6','7','8','9'] var b = {'a': 'a1','b': 'b1','c': 'c1','d': 'd1'} 肉眼观察形式上数组和对象结构上不一样利用typeof判断类型?错误 ,这里介绍一下新的方法 constructor console.log(typeof a) // object console.log(typeof b) // object // 注意咯 console.log( a.constructor) // Array console.log( b.constructor) // Object 利用length ?数组长度直接打印,对象需要遍历++ console.log( a.length ) // 9 console.log( b.length ) // underfined 利用Object.prototype.toString.call() 判断 console.log(Object.prototype.toString.call(a)) // [object Array] console.log(Object.prototype.toString.call(b)) // [object Object] es5 新方法 Array.isArray() console.log(Array.isArray(a)) // true console.log(Array.isArray(b)) // false