首页 > web前端 > js教程 > 正文

js数据类型检测的4种方法

巴扎黑
发布: 2016-11-25 10:52:37
原创
1483 人浏览过

1.typeof

缺点:对null和Array等类型的检测不是很方便

Js代码  

typeof null; //"object"  

typeof []; //"object"  

2.instanceof

缺点:1.只适用于对象类型

        2.只要当前的这个类在实例的原型链上,检测出来的结果都是true

Js代码  

123 instanceof Number; //false  

null instanceof null; //TypeError  

null instanceof Object; //false  

function A(){}  

function B(){}  

A.prototype=new B();  

var aObj=new A();  

aObj instanceof B;//true  

aObj instanceof A;//true  

 3.constructor

注意:在类继承时会出错

Js代码  

function A(){};  

function B(){};  

A.prototype = new B();  

var aObj = new A();  

aObj.constructor === B; //true;  

aObj.constructor === A; //false;  

 4.自定义方法实现(比较通用)

Js代码  

function getType(o){  

  return Object.prototype.toString.call(o).slice(8,-1);  

}  

 测试:

Js代码  

getType(null); //"Null"  

getType(undefined); //"Undefined"  

getType([]); //"Array"  

getType({}); //"Object"  

getType(()=>{}); //"Function"  

getType(document.createElement('div')); //"HTMLDivElement"


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!