1、toString() 第一选择
let obj = {}
Object.prototype.toString.call(obj) === '[Object Object]'
2、constructor
let obj = {}
obj.constructor === Object
3、instanceof
注意:使用instanceof对数组进行判断也是对象
let obj = {} obj instanceof Object //true let arr = [] arr instanceof Object //true
4、typeof
let obj = {} typeof obj === Object // 根据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