前端学习笔记01JavaScript源生判断数据类型的方法

Posted 朱两边

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端学习笔记01JavaScript源生判断数据类型的方法相关的知识,希望对你有一定的参考价值。

 

原始类型(值类型):Undefined、Null、Number、String、Boolean;

对象类型(引用类型):Object;

typeof 

可以识别标准类型,null外(返回Object);不能识别具体对象类型(Function除外)。

用法举例:

var num = 100;
typeof num;  // 或 typeof(num) --> number 

注:除number 、string、boolean、undefined、function类型外,其余类型都判断为object(包括null)。

instanceof 

可以判别内置对象类型、自定义对象类型;不能判别原始类型。

var arr = [];
arr instanceof Array; -->true

Object.prototype.toString.call()

可以识别标准类型、内置对象类型;不能识别自定义对象类型。

Object.prototype.toString.call(123); // --> [object Number]

constructor 

可以判别内置对象类型、自定义对象类型、标准类型(但Underfined/Null不能识别)。

var num = 100;
num.constructor === Number; // --> true;

返回构造器写法:

function getConstructorName(obj){
    return (obj===undefined||obj===null)?obj:(obj.constructor&&obj.constructor.toString().match(/function\s*([^(]*)/)[1]);
} // match()把返回的 function Number() { [native code] } 中的Number拿到。

以上是关于前端学习笔记01JavaScript源生判断数据类型的方法的主要内容,如果未能解决你的问题,请参考以下文章

《JavaScript高级程序设计》学习笔记——引用类型

前端乱煮之javascript学习笔记一

javascript学习笔记01

重学前端专栏 44 篇学习笔记合集(完结)

《JavaScript高级程序设计》学习笔记——面向对象编程

web前端学习笔记:JavaScript数组