更好的判断数据类型的通用方法
function getType(value) {
if (value === null) {
return value + ""
}
if (typeof value === "object") {
// 数组、对象、函数 typeof 都是 object,所以需要处理下
let typeName = Object.prototype.toString.call(value).slice(8,-1) // 如对象得到这样 Object
return typeName.toLowerCase() // object
} else {
return typeof value;
}
}
这样执行,包括数组对象都可以识别成特定的类型,例如
getType([]) //'array'
getType({}) //'object'
getType(undefined) //'undefined'