前言: 判断基本类型用: typeof, 判断引用类型用: instanceof
注意:
1. typeof可以当关键字使用, 也可以当函数使用, 它可以检测基本类型, 但无法检测引用类型.
2. instanceof 只能作关键字使用, 可以检测引用类型, 不能检测基本类型.
第一步: typeof 的使用方法
typeof 1; // "number"; typeof true; // "boolean"; typeof "hello"; // "string"; typeof []; // "object"; typeof console; // "object"; typeof {}; // "object"
注意: 上面的代码告诉我们, typeof只能检测基本类型, 不能检测引用类型(全返回object);
第二步: instanceof 的使用方法
instanceof 可以检测引用类型, 其实际含义是: 检测某个实例是否是某个构造函数的实例
console.log([] instanceof Array); // true; console.log({} instanceof Object); // true; console.log([] instanceof Object); // true; console.log(console.log instanceof Function); // true; console.log(console instanceof Object); // true; // instanceof 无法检测基本类型; 1 instanceof Number; // fales; 'hello' instanceof String; // false; true instanceof Boolean; // false
注意:
1. 尽管一切皆对象, 但基本类型无法使用instanceof来检测;
2. 数组的实例既是构造函数Array的实例, 也是Object的实例;