任何对象Constructor属性都返回其构造函数,但它不适用于Array。
var o={};
o.constructor; --> returns Object()
var a=new Array();
a.constructor; --> Expecting Array() but it returns [undefined]
有什么想法吗?
答案 0 :(得分:1)
对象的constructor
属性将引用一个函数。而是检查变量是否包含数组,执行以下操作:
if (Object.prototype.toString.call(a)==='[object Array]') alert('Array!');
建议的a.length解决方法不能100%工作,因为它可能有一个具有length属性而不是实际数组的对象。