js数据类型检测的四种方法
js数据类型检测的4种方法
1.typeof
缺点:对null和Array等类型的检测不是很方便
typeof null; //"object" typeof []; //"object"
2.instanceof
缺点:只适用于对象类型
123 instanceof Number; //false null instanceof null; //TypeError null instanceof Object; //false
3.constructor
注意:在类继承时会出错
function A(){}; function B(){}; A.prototype = new B(); var aObj = new A(); alert(aobj.constructor === B); //true; alert(aobj.constructor === A); //false;
4.自定义方法实现(比较通用)
function getType(o){ return Object.prototype.toString.call(o).slice(8,-1); }
测试:
getType(null); //"Null" getType(undefined); //"Undefined" getType([]); //"Array" getType({}); //"Object"