zoukankan      html  css  js  c++  java
  • javascript准确判断各种数据类型

    javascript准确判断各种数据类型

    Object.prototype.toString.call() 方法

    判断基本数据类型

          const a = Object.prototype.toString.call(null)
          console.log(a) // [object Null]
          console.log(a === '[object Null]') //true
    
          Object.prototype.toString.call(undefined) // [object Undefined]
          Object.prototype.toString.call('abc') // [object String]
          Object.prototype.toString.call(123) // [object Number]
          Object.prototype.toString.call(true) // [object Boolean]
    

    判断原生引用类型

          // **函数类型**
          function fn() {}
          Object.prototype.toString.call(fn) // "[object Function]"
          // **日期类型**
          const date = new Date()
          Object.prototype.toString.call(date) // "[object Date]"
          // **数组类型**
          const arr = [1, 2, 3]
          Object.prototype.toString.call(arr) // "[object Array]"
          // **正则表达式**
          const reg = /[hbc]at/gi
          Object.prototype.toString.call(reg) // "[object RegExp]"
          // **自定义类型**
          function Person(name, age) {
            this.name = name
            this.age = age
          }
          const person = new Person('Rose', 18)
          // 准确判断person是Person类的实例,只能用instanceof 操作符来进行判断,如下所示:
          console.log(person instanceof Person) // true
    

    判断原生JSON对象

    const isJSON = window.JSON && Object.prototype.toString.call(JSON);
    console.log(isJSON);// 输出结果为”[object JSON]”说明JSON是原生的,否则不是;
    
  • 相关阅读:
    SDOI2016游戏
    李超线段树
    SDOI2016数字配对
    SDOI2016储能表
    ! JOISC2020DAY3星座3
    JOISC2020DAY2有趣的 Joitter 交友
    第十天学习内容 函数
    第九天学习内容 结构体
    第八天学习内容 集合
    第七天学习内容 数组
  • 原文地址:https://www.cnblogs.com/liaoing/p/14234632.html
Copyright © 2011-2022 走看看