jsは配列かどうかを判断する方法です.

1832 ワード

1.instance of
var arr = [1,2,3];
arr instanceof Array
instance of Arayは配列初期化と同じコンテキストでのみ有効で、かつiframeをまたぐことができません.
2.Aray.isAray()
Array.isArray([1,2,3]);
3.constructor
constructorは、その対応する対象の原型の下に、自動的に生成されます.構造関数を書くと、プログラムは自動的に追加されます.構造関数名.prototype.com nstructor=構造関数名
var arr = [1,2,3];
arr.constructor === Array
constructorを使うのは保険ではありません.constructorの属性は修正されて、検出された結果が不正になり、かつiframeを超えてはいけません.
a.constructor === Array     //    true
a.constructor = String        //    String() { [native code] }
a.constructor === Array    //     false
また、この方法を用いて他のデータタイプを判断する場合、undefinedとnullはタイプを判断できず、エラーが発生することに注意してください.nullとundefinedは無効な対象ですので、constructorは存在しません.
4.Object.prototype.toSrtring.cal([])
また、この方法を用いて他のデータタイプを判断する際に注意すべき点は、IE 8及びIE 8以下で、undefined及びnullはいずれもObjectであり、IE 9及びIE 9以上は[object Undefined]及び[object Null]であることである.