js判断数据类型

const arr1 = [];

1、Object.prototype.toString.call(arr)// [object Array] 返回数据属于的数据类型。通过原型的方式,更有效检测不同类型;

2、arr1.constructor //返回arr1继承的构造函数

3、arr1 instanceof Array //返回true 结果一般是bool值,更适用于引用类型的检测。

4、typeof arr1 //返回 object  typeof 只能检测出string,boolean(true,false),undefined,number(NaN),function,object(array,null,object,Date ……),更适合于基本数据类型的检测

5、万能方法:jquery.type(arr1); //返回的是具体的数据类型

const type = {
    "[object String]": 'string',
    "[object Array]": 'array',
    "[object Object]": 'object',
    "[object Null]": 'null',
    "[object Number]": 'number',
    "[object Undefined]": 'undefined',
    "[object Boolean]": 'boolean',
    "[object Function]": 'function'
}

function dataType (data) {
    const resType = Object.prototype.toString.call(data)
    return type[resType]
}

function isString (data) {
    dataType(data) == 'string' ? true : false
}

function isArray (data) {
    dataType(data) == 'array' ? true : false
}

function isObject (data) {
    dataType(data) == 'object' ? true : false
}

 

posted @ 2019-04-18 14:08  霜~  阅读(1365)  评论(0编辑  收藏  举报