javascript如何判断一个值是否为数组

1、数组自带方法 Array.isArray(arr);//返回true或false

这里写图片描述

2、判断该变量的构造函数是否为Array

这里写图片描述

3、通过Object.prototype.toString判断

这里写图片描述

4、通过instanceof判断

这里写图片描述
注意:
a instanceof A
其中instanceof的原理是:a的原型链(proto)上是否有A的原型对象(prototype)

5、用jQuery的方法判断($.isArray(arr))
jQuery源码中此方法调用的依旧是Array.isArray

这里写图片描述

这里写图片描述
$.type(arr)也可判断一个变量的数据类型
jQuery源码实现如下:
利用了Object.prototype.toString

这里写图片描述