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 // 根据typeof判断对象也不太准确 问题:null {} [] 3个都是'object'
表达式 返回值 typeof undefined 'undefined' typeof null 'object' typeof true 'boolean' typeof 123 'number' typeof "abc" 'string' typeof function() {} 'function' typeof {} 'object' typeof [] 'object'