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

2018-01-15  本文已影响0人  环零弦

如何用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

上一篇 下一篇

猜你喜欢

热点阅读