var testArr = [
1,
"1",
{},
[1,2],
null,
undefined
];
function getType(obj){
let type = typeof obj;
if (type !== "object") { // 先進(jìn)行typeof判斷,如果是基礎(chǔ)數(shù)據(jù)類型,直接返回
return type;
}
// 對(duì)于typeof返回結(jié)果是object的,再進(jìn)行如下的判斷,正則返回結(jié)果
return Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/, '$1');
};
testArr.map(i=>{
console.log(getType(i))
});

image.png
Object.prototype.toString.call(),可以很好地判斷引用類型,
甚至可以把 document 和 window 都區(qū)分開(kāi)來(lái),
使用這個(gè)方法最后返回統(tǒng)一字符串格式為 "[object Xxx]"