判断变量是否为数组的几种方法

  • Post author:
  • Post category:其他



1、isArray 方法


isArray()

方法用于判断一个对象是否为数组。如果对象是数组返回

true

,否则返回

false

Array.isArray(arr); // true


2、对象原型

通过原型链判断是否具有和数组同一原型链的顶端。

arr.__proto__ === Array.prototype; // true


3、instanceof 运算符

用于检测构造函数的

prototype

属性是否出现在某个实例对象的原型链上

arr instanceof Array; // true


4、Object.prototype.toString.call()

所有原始数据类型都能通过该方法判断,具有通用性

Object.prototype.toString.call(arr); // "[object Array]"

Object.prototype.toString.call(2); // "[object Number]"
Object.prototype.toString.call(""); // "[object String]"
Object.prototype.toString.call(true); // "[object Boolean]"
Object.prototype.toString.call(undefined); // "[object Undefined]"
Object.prototype.toString.call(null); // "[object Null]"
Object.prototype.toString.call(Math); // "[object Math]"
Object.prototype.toString.call({}); // "[object Object]"
Object.prototype.toString.call([]); // "[object Array]"
Object.prototype.toString.call(function () {}); // "[object Function]"



版权声明:本文为zz130428原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。