美文网首页
判断js中的数据类型的几种方法

判断js中的数据类型的几种方法

作者: 疯人愿的疯言疯语 | 来源:发表于2018-03-02 10:22 被阅读0次

    判断用到的例子

    var a = "iamstring.";
    var b = 222;
    var c= [1,2,3];
    var d = new Date();
    var e = function(){alert(111);};
    var f = function(){this.name="22";};

    1.最常见的方法typeof

    alert(typeof a)   ------------> string
    alert(typeof b)   ------------> number
    alert(typeof c)   ------------> object
    alert(typeof d)   ------------> object
    alert(typeof e)   ------------> function
    alert(typeof f)   ------------> function
    
    其中typeof返回的类型都是字符串形式,需注意,例如:
    alert(typeof a === "string") -------------> true
    alert(typeof a === String) ---------------> false
    

    2.判断已知对象类型的方法: instanceof

    alert(c instanceof Array) ---------------> true
    alert(d instanceof Date)  ---------------> true
    alert(f instanceof Function) ------------> true
    alert(f instanceof function) ------------> false
    

    3.根据对象的constructor判断: constructor

    alert(c.constructor === Array) ----------> true
    alert(d.constructor === Date) -----------> true
    alert(e.constructor === Function) -------> true
    

    4.考虑兼容,使用Object.prototype.toString.call(x)可以判断

    alert(Object.prototype.toString.call(a) === ‘[object String]’) -------> true;
    alert(Object.prototype.toString.call(b) === ‘[object Number]’) -------> true;
    alert(Object.prototype.toString.call(c) === ‘[object Array]’) -------> true;
    alert(Object.prototype.toString.call(d) === ‘[object Date]’) -------> true;
    alert(Object.prototype.toString.call(e) === ‘[object Function]’) -------> true;
    alert(Object.prototype.toString.call(f) === ‘[object Function]’) -------> true;
    

    内容来自参考文:https://www.cnblogs.com/dushao/p/5999563.html

    相关文章

      网友评论

          本文标题:判断js中的数据类型的几种方法

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