-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); 

此外,您正在将对象实例与带有===操作符的承包商(函数)进行比较。这将始终为假。

于 2013-06-13T18:50:43.557 回答