美文网首页
js类型判断的方法

js类型判断的方法

作者: 郭海杰 | 来源:发表于2020-03-04 17:14 被阅读0次
    • typeof,可以判断原始数据类型:undefined、boolean、string、number、symbol,但是typeof null的类型判断为object。对于引用类型,会判断为function、object两种类型。
    • instanceof ,instanceof 检测的是原型,判断一个实例是否属于某种类型。
    function instanceOf(left,right) {
        let proto = left.__proto__;
        let prototype = right.prototype
        while(true) {
            if(proto === null) return false;
            if(proto === prototype) return true;
            proto = proto.__proto__;
        }
    }
    

    Object.prototype.toString

    toString() 是 Object 的原型方法,调用该方法,默认返回当前对象的类型。

    Object.prototype.toString.call('') ;   // [object String]
    Object.prototype.toString.call(1) ;    // [object Number]
    Object.prototype.toString.call(true) ; // [object Boolean]
    Object.prototype.toString.call(Symbol()); //[object Symbol]
    Object.prototype.toString.call(undefined) ; // [object Undefined]
    Object.prototype.toString.call(null) ; // [object Null]
    Object.prototype.toString.call(new Function()) ; // [object Function]
    Object.prototype.toString.call(new Date()) ; // [object Date]
    Object.prototype.toString.call([]) ; // [object Array]
    Object.prototype.toString.call(new RegExp()) ; // [object RegExp]
    Object.prototype.toString.call(new Error()) ; // [object Error]
    Object.prototype.toString.call(document) ; // [object HTMLDocument]
    Object.prototype.toString.call(window) ; //[object global] window 是全局对象 global 的引用
    
    

    相关文章

      网友评论

          本文标题:js类型判断的方法

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