判断数据类型

  • typeof 用于判断非对象的基本数据类型u哦这function类型
    原理:
    在js底层中,采用低位存储了变量的类型信息
    000:对象
    1:整数
    010:浮点数
    100:字符串
    110:布尔
  • instanceof 判断构造函数
    原理:一个对象的原型链是否存在一个构造函数的prototype属性
    function _instanceof (left, right) {
      let proto = left.__proto__
      let R_P = right.prototype
      while (true) {
        if (proto === null) {
          return false
        }
        if (R_P === proto) {
          return true
        }
        proto = proto.__proto__
      }
    }

function

  • Object.prototype.toString.call()
    判断所有类型

推荐阅读更多精彩内容