在JavaScript如何判断对象是否为数组类型

如何用js判断一个对象是不是Array

  1. 调用数组的isArray方法:

    Array.isArray(obj);
    
  2. 判断对象是否是Array的实例:

    obj instanceof Array;
    
  3. 内部属性:

     Object.prototype.toString.call([]) ==='[object Array]';
    

    Object.prototype.toString 方法会取得对象的一个内部属性 [[Class]],然后依据这个属性,返回一个类似于 [object Array] 的字符串作为结果,call 用来改变 toStringthis 指向为待检测的对象。

  4. 判断对象是否有 push 等数组的一些方法。(这个方法有兼容问题,但也是一个简单易用的方法)

  5. obj.constructor===Array; // true

同理判断一个对象是否是函数:

Object.prototype.toString.call(obj)==='[object Function]' // true / false

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容