检测数据类型的方式

1、检测数据类型的方式:

1.  typeof  console.log(typeof sum)

2. instaceof 检测当前变量是否属于某个类。      x instanceof 类型      ` var arr = [1,2,3,4,5,6]; console.log(arr instanceof Array);`

3.constructor  实例.constructor == 类型 
对象的原型链下(构造函数原型)有一个construc属性。 缺点:construc不可靠,容易被修改。

4.isArray   判断是会否是数组   isArray` console.log(Array.isArray(arr));`

5.Object.portotype.toString.call()

/重点/

Object.portotype.toString.call()

此方法可以判断基本数据类型、引用数据类型的具体类型

    1.  Object.prototype.toString.call(null)   //[object Null]
    2.  Object.prototype.toString.call(undefined); // [object Undefined]
    3.  Object.prototype.toString.call(undefined); // [object Undefined]
    4.  Object.prototype.toString.call(“abc”);// [object String]
    5.  Object.prototype.toString.call(123);// [object Number]

     **函数类型**
       1.  Function fn(){
           console.log(“test”);
           }
        Object.prototype.toString.call(fn); // "[object Function]"

     **日期类型**
       3. var date = new Date();
         Object.prototype.toString.call(date); // "[object Date]"
     **数组类型**
       4. var arr = [1,2,3];
          Object.prototype.toString.call(arr); // "[object Array]"
     **正则表达式**
       5. var reg = /[hbc]at/gi;
        Object.prototype.toString.call(reg); // "[object RegExp]"
     **自定义类型**
       6. function Person(name, age) {
            this.name = name;
            this.age = age;
              }
          var person = new Person("Rose", 18);
          Object.prototype.toString.call(arr); // "[object Object]"
          Object.prototype.toString.call(true);// [object Boolean]
原文地址:https://www.cnblogs.com/qianqiang0703/p/13492887.html