为什么我的对象不等于Object?如何检查var是否为Object?

时间:2013-06-13 18:45:59

标签: javascript object

我试图检测我的变量是对象。

我有那段代码:

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

现在当我检查时:obj === Object即使我在控制台中键入obj,我也会看到它的对象:

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

DEMO

问题:

  • 如何检查obj是否为对象?
  • 为什么当我尝试比较我的var和对象时我得到 false

2 个答案:

答案 0 :(得分:1)

您可以使用:

if(typeof obj == 'object')

请参阅here

如果obj是一个数组,这也会返回true,所以有时使用instanceof来确保它是你想要的'type'对象。

答案 1 :(得分:1)

您可以使用instance of来确定对象的类型。

console.log(obj instanceof Object); 

此外,您正在将对象实例与承包商(函数)与===运算符进行比较。这将始终为false。