1坦敌、toString() 第一選擇(注意里面的第一個object是小寫 ’[object Object]‘ )
'[object Object]'? ? 之前看別的文章附较,樓主那個憨批寫成大寫了款咖,再怎么判斷都不對。
let obj = {}?
Object.prototype.toString.call(obj) === '[Object Object]'
2.?constructor
let obj = {}
obj.constructor === Object
3.instanceof
?let obj = {}
obj instanceof Object//truelet arr = []
arr instanceof Object//true
4. typeof
let obj = {}
typeof obj === Object
// 根據(jù)typeof判斷對象也不太準確
表達式? ? ? ? ? ? ? ? ? ? ? 返回值
typeof undefined? ? ? ? ? 'undefined'
typeof null? ? ? ? ? ? ? ? 'object'
typeof true? ? ? ? ? ? ? ? 'boolean'
typeof 123? ? ? ? ? ? ? ? 'number'
typeof "abc"? ? ? ? ? ? ? 'string'
typeof function() {}? ? ? 'function'
typeof {}? ? ? ? ? ? ? ? ? 'object'
typeof []? ? ? ? ? ? ? ? ? 'object'
原文地址:https://blog.csdn.net/zhangjing0320/article/details/81230170