美文网首页
javascript中判断对象类型的方法

javascript中判断对象类型的方法

作者: Ivy_study | 来源:发表于2019-02-28 15:18 被阅读0次

    在js中,有5中基本数据类型和1种复杂数据类型
    基本数据类型:Underfined,Null,Boolean,String,Number
    复杂数据类型:Object,包含Array,Function,Data...

    1、使用typeof检测
    可以检测:number,string,boolean,function,undefined
    不可以检测: array,json,null,date,regex,error只能被检测出object,

    2、使用instanceof检测
    可以检测: Array,Object,Function,Date,RegExp,Error,
    不可以检测基本数据类型:Number,String,Boolean,Undefined, Null
    但是使用这种方式创建变量就可以
    const num = new Number(123);
    const str = new String('1234');
    const bool = new Boolean(false);

    3、使用constructor检测
    constructor是原型对象上的属性,指向构造函数。

    const num = 123;
    num.constructor => function Number() {[native code]}
    所以可以使用 num.constructor === Number
    不可以检测:undefined,null
    缺点: 实例的constructor属性可以被修改,会导致检测出的结果不正确

    4、使用Object.prototype.toString.call
    使用方式:
    Object.prototype.toString.call(num) => '[object Number]'
    ...
    可检测所有数据类型
    所以可以使用Object.prototype.toString.call(num) === '[object Number]'

    相关文章

      网友评论

          本文标题:javascript中判断对象类型的方法

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