4

任何对象的 Constructor 属性都返回其构造函数,但它不适用于 Array。

var o={};
o.constructor; --> returns Object()

var a=new Array();
a.constructor; --> Expecting Array() but it returns [undefined]

任何想法?

4

1 回答 1

1

对象的constructor属性将引用一个函数。而不是检查变量是否包含数组,请执行以下操作:

if (Object.prototype.toString.call(a)==='[object Array]') alert('Array!');

建议的 a.length 解决方法不会 100% 起作用,因为可能有一个具有长度属性的对象而不是实际的数组。

于 2012-10-12T20:36:05.257 回答