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是原生的,否则不是;
    
  • 相关阅读:
    区间DP+next求循环节 uva 6876
    连分数(分数类模板) uva6875
    二分+最短路 uvalive 3270 Simplified GSM Network(推荐)
    叉积判断 POJ1696
    树形DP+树状数组 HDU 5877 Weak Pair
    团 大连网赛 1007 Friends and Enemies
    微信支付少一分钱
    数据类型的转换
    什么是机器学习
    config.m4
  • 原文地址:https://www.cnblogs.com/liaoing/p/14234632.html
Copyright © 2011-2022 走看看