js数据类型判断的最准确方法

186 阅读1分钟

使用instanceof来检测数据类型,不会很准确 例如

[] instanceof Object // true
function(){}  instanceof Object // true
[] instanceof Array实际上是判断Array.prototype是否在[]的原型链上

使用instanceof也不能检测基本数据类型,因此我们利用toString()方法检查更为准确

每一个引用类型都有toString方法,默认情况下,toString()方法被每个Object对象继承。如果此方法在自定义对象中未被覆盖,toString() 返回 "[object type]",其中type是对象的类型。 Object.prototype.toString.call()