-1

私の変数がオブジェクトであることを検出しようとしています。

私はそのコードを持っています:

var obj = {
    'propA': 'a',
        'propB': {
        'underB': 'underBB',
            'underB2': 'underBB2'
    }
};

今チェックすると:obj === Objectコンソールにobjと入力しても、それがオブジェクトであることがわかります:

Object {propA: "a", propB: Object}

デモ

質問:

  • obj がオブジェクトかどうかを確認するにはどうすればよいですか?
  • var と Object を比較しようとするとfalseになるのはなぜですか?
4

2 に答える 2

1

以下を使用できます。

if(typeof obj == 'object')

こちらをご覧ください

これは、obj が配列の場合にも true を返すため、必要なinstanceof「タイプ」のオブジェクトであることを確認するために使用するとよい場合があります。

于 2013-06-13T18:47:20.857 に答える
1

instance ofオブジェクトのタイプを決定するために使用できます。これを試してください:

console.log(obj instanceof Object); 

その上、オブジェクト インスタンスと請負業者 (関数) を===operator.this で比較しています。これは常に false になります。

于 2013-06-13T18:50:43.557 に答える