经常遇到问如何判断一个数组之类的问题
Array.isArray() //用于确定传递的值是否是一个 Array。Array.isArray([]) // trueArray.isArray({}) // falseArray.isArray('') // falseArray.isArray(Array.prototype) // true
当然Array.isArray() 兼一些容性可能稍差,最保险的方法还是使用Object.prototype.toString.call,可以写个专门的类型判断的方法
function classof(o) { if (o === null) return "Null"; if (o === undefined) return "Undefined"; return Object.prototype.toString.call(o).slice(8, -1);}classof({}) // "Object"classof([]) // "Array"classof('') // "String"classof(null) // "Null"classof(undefined) // "Undefined"classof(function() {}) // "Function"classof(Symbol) // "Function"classof(Symbol()) // "Symbol"