js判断数据类型

1. typeof

2. instanceof

用于判断构造函数的prototype有没有出现在该对象的原型链上(__pro__

缺陷:

  • instanceof 无法判断 基本数据类型(primitive)数据


    primitive
  • instanceof 判断数组
    [] instanceof Array // true一般来说这样就可以判断该数据是不是数组,但是Array.isArray([])比较常见,
    MDN Array.isArray()做了解释
    当检测Array实例时, Array.isArray 优于 instanceof,因为Array.isArray能检测iframes.拷贝他的代码做了测试

    iframe

这边做的考虑跟redux的isPlainObject类似,考虑了js执行有不同的上下文环境,isPlainObject做了说明。xArray是iframe中的数组,跟当前的Array就不是同个数组,所以当前环境的Array.prototype压根就不在arr的原型链上

3.Object.prototype.toString.call()

缺陷:

  • 无法判断基本数据类型的包装类型


    Object.prototype.toString.call()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容