1.不能用typeof,检测Array类型时返回的是object
2.在一般情况下可以用obj instanceof Array,但是在嵌套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","4","5");//这个写法IE大哥下是不支持的,FF下才有 alert(arr instanceof Array); // false alert(arr.constructor === Array); // false
3.正解
function isArray(obj) { return Object.prototype.toString.call(obj) === '[object Array]'; }