JavaScript 判断类型
1、toString() 第一选择
let obj = {} Object.prototype.toString.call(obj) === '[Object Object]'
2、constructor
let obj = {} obj.constructor === Object //true let array = [] array.constructor === Array //true let string= [] string.constructor === String//true let d = null;d.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'