js的类型检测
1.typeof 操作符返回一个字符串,指示未经计算的操作数的类型
语法:typeof operand
参数:operand 是一个表达式,表示对象或原始值,其类型将被 返回
类型 | 结果 |
Undefined | "undefined" |
Number | "number" |
String | "string" |
Boolean | "boolean" |
Null | "object" |
Object , Array | "object" |
任何其他对象 | "object" |
例子:
typeof 37 === 'number';
typeof 3.14 === 'number';
typeof 'abv' === 'string';
typeof (typeof 12) === 'string'; //typeof 总是返回一个字符串
typeof 1/0 === 'NaN';
2.instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的prototype属性。
语法:object instanceof constructor
参数:object 要检测的对象
constructor某个构造函数
描述:instanceof 运算符用来检测constructor.prototype是否存在于参数object的原型链上。
例子:
//定义构造函数
function C(){}
function D(){}
var o = new C();
o instanceof C; //true
o instanceof D; //false
3.isArray 检测数组
function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
希望我的入坑经验对你有所帮助,愿圣光与你同在