var arr = [];
1、 直接判断数据arr的数据类型
Array.isArray(arr);
2、 判断构造函数Array的原型是否是arr的原型对象
Array.prototype.isPrototypeOf(arr);
3、 数组arr的构造函数属性(原型构造器)是否等于构造函数本身
arr.constructor === Array;
4、 判断arr是否是由构造函数Array实例化得到的
在一般情况下可以使用instanceof,但是instanceof会在跨iframe对象构建的场景下失效
arr instanceof Array;
5、 获取arr的对象原型属性和构造函数Array的对象原型属性相比较
Object.getPrototypeOf(arr) === Array.prototype;
6、 判断获取的arr的对象原型经过字符串化后的类型是否等于'[Object Array]'
Object.prototype.toString.call(arr) === '[Object Array]';