如何区分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数据类型的主要内容,如果未能解决你的问题,请参考以下文章

JS区分数据类型

JS区分对象类型

【JS】常用的判断所有数据类型的方法

js数据类型检测

关于R语言的数据类型和数据结构的如何区分

区分JS的空值