美文网首页
常用数据类型判断

常用数据类型判断

作者: 饥人谷_刘康 | 来源:发表于2020-01-10 11:36 被阅读0次

    1.判断数据类型

    因为每个对象都有一个toString()方法,当要将对象表示为文本值或以预期字符串的方式引用对象时,会自动调用该方法。默认情况下,从Object派生的每个对象都会继承toString()方法。如果此方法未在自定义对象中被覆盖,则toString()返回[Object type],其中type是对象类型。所以就有以下例子:

    Object.prototype.toString.call(new Date()) // [object Date]
    Object.prototype.toString.call("1") // [object String]
    Object.prototype.toString.call(1) // [object Numer]
    Object.prototype.toString.call(undefined) // [object Undefined]
    Object.prototype.toString.call(null) // [object Null]
    

    综上,使用以下方法判断

    var type = function(data) {
          var toString = Object.prototype.toString;
          var dataType =
            data instanceof Element
              ? "element" // 为了统一DOM节点类型输出
              : toString
                  .call(data)
                  .replace(/\[object\s(.+)\]/, "$1")
                  .toLowerCase()
          return dataType
    };
    

    使用方法如下:

    type("a") // string
    type(1) // number
    type(window) // window
    type(document.querySelector("h1")) // element
    

    相关文章

      网友评论

          本文标题:常用数据类型判断

          本文链接:https://www.haomeiwen.com/subject/pqrpactx.html