js 区分数据类型

    技术2023-12-30  77

    这是第二版,可以区分

    1.基本数据类型(string、number、boolean)

    undefined、null

    2.引用类型

      数组、RegExp、函数、 自定义数据类型(通过new 函数名得到)

      包装类型(String、Number、Boolean)

    function DataType() { } DataType.RegExp = "RegExp"; DataType.ObjectString = "Objectstring"; DataType.string = "string"; DataType.NULL = "null"; DataType.UNDEFINED = "undefined"; DataType.ObjectNumber = "Objectnumber"; DataType.number = "number"; DataType.ObjectBoolean = "Objectboolean"; DataType.boolean = "boolean"; DataType.function = "function"; DataType.array = "array"; function getType(type) { if(typeof type == DataType.UNDEFINED)   {     return DataType.UNDEFINED;   }   else if(typeof type == "object")   {     if(type == null)     {       return DataType.NULL ;     }     else     {       if(typeof type.valueOf() == DataType.string)       {         return DataType.ObjectString       }       else if(typeof type.valueOf() == DataType.number)       {         return DataType.ObjectNumber;       }       else if(typeof type.valueOf() == DataType.boolean)       {         return DataType.ObjectBoolean;       }       else if(type instanceof Array)       {         return DataType.array;       } else if(type instanceof RegExp) { return DataType.RegExp; } else if(typeof type.constructor == DataType.function) { return type.constructor.toString().match(/^function +(.+)\(/)[1]; }     }   }   else if(typeof type == DataType.function)   {     return DataType.function   }   else   {     return typeof type;   } }

     

    Processed: 0.008, SQL: 9