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 }