思路:使用typeof将数据分为Object和基本数据类型,再通过instanceof精确划分Object中的数据类型。
实现代码:
var a = "1";
var b = "3";
var c = Symbol(2);
const d = new Date();
var e = new Array();
var f = new Number(2);
function judge_num (num) {
// 先判断是基本数据类型还是对象 typeof
if (typeof num != 'object') {
// 返回基本数据类型
return typeof num;
}
// 细分是什么对象
if (num instanceof Date) {
return "Date";
}
if (num instanceof Array) {
return "Array";
}
if (num instanceof Number) {
return 'Number'
}
if (num instanceof String) {
return 'String'
}
if (num instanceof RegExp) {
return 'RegExp';
}
if (num instanceof Symbol) {
return 'Symbol';
}
if (num instanceof Boolean) {
return "Boolean";
}
if (num instanceof Object) {
return 'Object';
}
}
console.log(judge_num(a));
console.log(judge_num(b));
console.log(judge_num(c));
console.log(judge_num(d));
console.log(judge_num(e));
console.log(judge_num(f));
运行结果: