首页 > 代码库 > 数据类型检测的几种方式
数据类型检测的几种方式
1.typeof
缺点:对null和Array等类型的检测不是很方便
Js代码
1 typeof null; //"object" 2 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代码
1 getType(null); //"Null" 2 getType(undefined); //"Undefined" 3 getType([]); //"Array" 4 getType({}); //"Object" 5 getType(()=>{}); //"Function" 6 getType(document.createElement(‘div‘)); //"HTMLDivElement"
数据类型检测的几种方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。