Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 区别好坏
Object.prototype.toString.call()
优点:这种方法对于所有基本的数据类型都能进行判断,即使是 null 和 undefined 。
缺点:不能精准判断自定义对象,对于自定义对象只会返回[object Object]
instanceOf
优点:instanceof 可以弥补 Object.prototype.toString.call()不能判断自定义实例化对象的缺点。
缺点: instanceof 只能用来判断对象类型,原始类型不可以。并且所有对象类型 instanceof Object 都是 true,且不同于其他两种方法的是它不能检测出 iframes。
Array.isArray()
优点:当检测 Array 实例时,Array.isArray 优于 instanceof ,因为 Array.isArray 可以检测出 iframes
缺点:只能判别数组
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。