4

オブジェクトのコンストラクター プロパティはコンストラクター関数を返しますが、配列では機能しません。

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 回避策は、実際の配列でなくても length プロパティを持つオブジェクトを持つことができるため、100% は機能しません。

于 2012-10-12T20:36:05.257 に答える