1.typeof操作符
对Function,String,Number,Undefined等几种类型的对象可用,但判断一个Array时,typeof得到object
2.instanceof操作符
返回Boolean值
var arr=[1,2];
arr instanceof Array; //true
在多个frame中穿梭会有问题
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
xArray = window.frames[window.frames.length-1].Array;
var arr = new xArray("1","2","3");//IE不支持,FF下支持
alert(arr instanceof Array); // false
alert(arr.constructor === Array); //false
3.ES3:Object.prototype.toString.call(obj) === '[Object Array]'
function isArray(obj){
return Object.prototype.toString.call(obj) === '[Object Array]';
}
可借鉴跨frame对象构建的问题,且各浏览器兼容性较好
4.ES5/Es6:Array.isArray(obj) === true