前端学习笔记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源生判断数据类型的方法的主要内容,如果未能解决你的问题,请参考以下文章