在很多情况下我都要对不同类型的数据做不同的处理
首先我们看看数据类型有那些
在JavaScript中数据类型分为2大类 基本类型 和 引用类型
基本类型
Underfine Uull Number String Boolean
检查是否是基本类型
typeof 就能搞定
1 | var s = 'string'; |
引用类型
引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象。
Object Function Array 等对象。
从上面最后 n 和 o 我们知道typeof 只能检查出是一个对象,通常情况下我们跟需要数据的类型是什么,这里就出现了 instanceof。
instanceof
1 |
|
instanceof 后面一定要是对象类型,并且是大写
根据对象的constructor进行判断
1 |
|
当constructor 在类继承时就会出错(prototype)
1 |
|
之所以是这样,是因为p1是继承自p2的原型链构造函数到了p2,如果想纠正需要将自己的类型赋值给对象的constructor,这里我们new 的是 p1 p.constructor = p1.
通常情况下我们不会这么复杂的去运用函数。
有一个复杂的方法 prototype
prototype : 能给出具体的类型,然后通过字符串方式进行判断
1 |
|
通过以上的方法我们就能对全部的数据类型进行检查
如果对您有所帮助或者对博主有更多的话说,欢迎你去我的GitHub留下一个您的start和issues