参考视频:JavaScript类型检测-慕课网
可以用以下5种来进行类型检测
typeof
例子
适用场景:
- 检测基础类型及function,对象检测全部都是object
坑:
- 历史遗留问题,null的typeof是object
typeof null // 'object'
instanceof
例子
适用场景:
- 检测对象
坑:
- 在iframe和window间检测失效,因为iframe的原型链和window的完全不同
Object.prototype.toString
例子
适用场景:
- 检测任意类型
坑:
- IE6/7/8 遇到null和undefined返回
[object Object]
constructor
obj.constructor.name
使用