typeof() 检测 简单数据类型 如果检测 复杂数据类型 都返回 Object 且 检测null 为object 判断null 可以使用=== 来判断
instanceof() 检测具体的对象类型 (用于检测构造函数的 prototype
属性是否出现在某个实例对象的原型链上。)
举个栗子 : a instanceof() B 判断的是 a是否为B的实例 即 a的原型链上存在B的构造函数 如果a实例 是由构造函数B new 出来的
根据原型链的查找原则 a.__proto__.__proto__=== Object.prototype 返回 true 说明a 是由 B构造函数创建出来的 间接判断a是什么对象类型
Array.isArray() 用于检测传递的值是否是一个 Array
Object.prototype.toString.call() 方法 来进行类型判断 会返回一个形如 "[object XXX]"
的字符串