Array.isArray()

824 阅读1分钟

Array.isArray() 用于确定传递的值是否是一个 Array

  1. ie9以下不支持;可以使用如下 polyfill;

  2. instanceof 和 isArray
    当检测Array实例时, Array.isArray 优于 instanceof。
    因为Array.isArray能检测iframes.


 var iframe = document.createElement('iframe');   
 document.body.appendChild(iframe);   
 xArray = window.frames[window.frames.length-1].Array;   
 var arr = new xArray(1,2,3); // [1,2,3]   

 // Correctly checking for Array   
 Array.isArray(arr);  // true   
 // Considered harmful, because doesn't work though iframes   
 arr instanceof Array; // false  

3.假如不存在 Array.isArray()


if (!Array.isArray) {     
    Array.isArray = function(arg) {   
     return Object.prototype.toString.call(arg) === '[object Array]';   
   };  
}