js判断数据类型的方法

JavaScript 类型判断有多种方式,常见的有 typeof 和 instanceof。

不过这两种方式是存在缺陷的,能判断的类型不太全。

Object.prototype.toString.call 是最佳选择,能判断的类型最完整。

toString

使用方法很简单,要判断某个东西的类型就将这个东西作为参数传入括号中。

该函数返回的是一个表示数据类型的字符串,格式为“[object 数据类型]”。

用 Object.prototype.toString.call() 可以准确地判断变量的数据类型。

刚才说,typeof 是存在缺陷的,我们来看一个例子:

console.log(typeof null); // "object"

你会发现,根本判断不出 null 的类型。

而使用 Object.prototype.toString.call() 方法可以准确地判断:

var n = null;
console.log(Object.prototype.toString.call(n)); // "[object Null]"