检测一个对象是否是数组类型

共有5种方式

【1】使用Array.prototype.isPrototypeOf(obj)

【2】obj instanceof Array

  对象 是不是 构造函数的实例

【3】obj.constructor==Array  仅判断直接父级

   【说明】  obj.constructor所有的原型对象都有constructor,指回原型对应的构造函数。

        而在构造函数的原型对象中保存的是所有子对象共有的方法,因此子对象.constructor会指回构造函数。

【4】利用当前对象,强行调用原始的toString方法

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

【5】isArray

  Array.isArray(obj);

posted @ 2017-11-01 19:23  控制自己x  阅读(182)  评论(0编辑  收藏  举报