- 调用 Array.isArray() 方法
- 判断是否为数组的实例
- 判断对象的构造函数是否是 Array
- 判断原型对象与数组的原型对象是否一致
- Object.prototype.toString
function judgeArray(arr, pattern){
switch(pattern){
case 1:
return Array.isArray(arr); //ES6新增
break;
case 2:
return arr instanceof Array;
break;
case 3:
return arr.constructor === Array;
break;
case 4:
return Object.getPrototypeOf(arr) === Array.prototype;
break;
case 5:
return Object.prototype.toString.call(arr) === '[object Array]'; //通过object类型的副属性class去判断的,其中函数的class是Function,结果是[object Function], 普通的对象是Object,结果是[object Object]
break;
} }