1. typeof运算符
- instanceof运算符
instanceof严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,
function Foo(){}
var foo = new Foo();
console.log(foo instanceof Foo)
- Object.prototype.toString方法
- 在javascript里使用typeof来判断数据类型,只能区分基本类型,即,‘number’,“string”,“undefined”,“boolean”,“object”,“function”,“symbol”(Es6新增)七种。
- 对于数组、null、对象来说,其关系错综复杂,使用typeof都会统一返回"object"字符串
- 要想区别对象、数组、函数单纯的使用typeof是不行的,js中使用Object.prototype.toString方法,判断某个对象值属于那种的内置类型。
- 在介绍Object.prototype.toString这个方法的之前,我们先和toString方法做一个对比。
const arr = [1,2]
arr.toString() -> 返回 '1,2'
Object.prototype.toString.call(arr) -> 返回 "[object,Array]"