如何区分js数据类型
Posted shiyujian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何区分js数据类型相关的知识,希望对你有一定的参考价值。
js中有六大数据类型,null,undefined,Number,String,Boolean,Object(引用类型包含Array,Function);
首先你可能会想到
typeof操作符
typeof操作符的结果有六种,都是字符串: 分别是Undefined,String,Boolean,Number,Object,Function。
可以看出typeof对于区分数据类型有两大问题
问题1 null也返回Object,null是空对象引用
问题2 对于对象实例的构造类是不能区分的,仅仅对Function有一定识别能力
instanceof 运算符
instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上
function Person(){};
var p =new Person();
console.log(p instanceof Person);//true
解决方案
Object.prototype.toString.call
例如: Object.prototype.toString.call(‘aaaa‘) // [object String]
通过调用该方法可以获取对象的构造class类
以上是关于如何区分js数据类型的主要内容,如果未能解决你的问题,请参考以下文章