方法一:通过原型方法判断
- 判断value的数据类型:
/*JS基础类型的判断*/
let isNumber = Object.prototype.toString.call(value) == "[ object.Number]";
let isBoolean = Object.prototype.toString.call(value) == "[ object.Boolean]";
let isString = Object.prototype.toString.call(value) == "[ object.String]";
let isNull = Object.prototype.toString.call(value) == "[ object.Null]";
let isUdefined =Object.prototype.toString.call(value) =="[object Undefined]"
/*引用类型*/
let isObject=Object.prototype.toString.call(value) == "[ object.Object]";
let isArr=Object.prototype.toString.call(value) == "[ object.Array]";
let isFunction=Object.prototype.toString.call(value) == "[ object. Function]";
let isRegExp=Object.prototype.toString.call(value) == "[ object.RegExp]";
if(isNumber ){
console. log("数据类型为数字")
}
if(isBoolean){
console. log("数据类型为布尔值")
}
if(isString ){
console. log("数据类型为字符串")
}
if(isNull){
console. log("数据类型为Null")
}
if(isUdefined ){
console. log("数据类型为undefined")
}
if(isObject){
console. log("数据类型是对象。")
}
if(isArr){
console. log("数据类型为数组")
}
if(isFunction){
console. log("数据类型是函数")
}
if(isRegExp){
console. log("是正则表达式")
}
二、通过typeof判断
弊端:无法区分数组、对象、Null、正则。因为他们通过typeof都返回object