js数据类型判断

89 阅读1分钟

JavaScript中有6种数据类型:number、string、boolean、undefined、null、Object。其中对象类型包括:Array、Function、RegExp、Date

判断数据类型

  • typeof:用来判断是基础类型还是对象类型
  • instanseof:操作符判断左操作数对象的原型链上是否有右边这个构造函数的prototype属性,也就是说指定对象是否是某个构造函数的实例。例如:[] instanceof Array; //true [] instanceof Object; //true
  • constructor:作用是,可以得知某个实例对象,到底是哪一个构造函数产生的。var f = new F(); f.constructor === F;// true。为了规范,在重写对象原型时一般都需要重新给constructor赋值,以保证实例对象的类型不被改写。
  • Object.prototype.toString:调用Object原型上的toString方法,可返回具体的对象类型。例如:Object.prototype.toString.call('') ; // [object String]。
Object.prototype.toString.call('') ; // [object String]   
Object.prototype.toString.call(1) ; // [object Number]   
Object.prototype.toString.call(true) ; // [object Boolean]  Object.prototype.toString.call(undefined) ; // [object Undefined]   Object.prototype.toString.call(null) ; // [object Null]     
Object.prototype.toString.call(new Function()) ;  // [object Function]   Object.prototype.toString.call(new Date()) ;  // [object Date]    Object.prototype.toString.call([]) ;  // [object Array] 
Object.prototype.toString.call(new RegExp()) ; // [object RegExp] Object.prototype.toString.call(new Error()) ; // [object Error]  Object.prototype.toString.call(document) ; // [object HTMLDocument]   Object.prototype.toString.call(window) ; //[object Window]