JavaScript检验数据类型的方式

Posted wangshouren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript检验数据类型的方式相关的知识,希望对你有一定的参考价值。


 

  • typeof:用来检测数据类型的运算符。

    能够返回的数据类型有6种(“number”,“string”,“bolean”,“undefined”,“function”,“object”)。在js中,null值表示一个空对象指针,用typeof检测null会返回“object”。

  • instanceof:检测某一个实例是否属于某个类。

    只要在当前实例的原型链上的对象,用其检测出来都为true。在类的原型继承中,最后检测出来的结果未必正确。

  • constructor:是函数原型上的属性,该属性指向的是构造函数本身。

    作用和instsnceof非常相似,与instanceof不同的是,不仅可以处理引用数据类型,还可以处理原始数据类型。在重写某个类上的原型的时候,在重写的过程中很可能把之前constructor给覆盖了,这样检测出来的结果就是不准确的。

  • Object.prototype.toString.call():原型链上的Object对象的toString方法。

    console.log(Object.prototype.toString.call(1));          //[object Number]
      console.log(Object.prototype.toString.call(/^sf/));        //[object RegExp]
      console.log(Object.prototype.toString.call("hello"));      //[object String]
      console.log(Object.prototype.toString.call(true));        //[object Boolean]
      console.log(Object.prototype.toString.call(null));        //[object Null]
      console.log(Object.prototype.toString.call(undefined));      //[object Undefined]
      console.log(Object.prototype.toString.call(function() ));    //[object Function]
      console.log(typeof(Object.prototype.toString.call(function() )));    //string

     

以上是关于JavaScript检验数据类型的方式的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript两种数据类型的存储方式

java检验在一个文本框中输入数据类型是不是为整形变量

假设检验法

JavaScript的数据类型

JavaScript引用数据类型

在javaScript中检测数据类型的几种方式