为什么我的对象是n'如何检查var是否是一个对象

Why my object isn't equal Object? How to check if var is a Object?

本文关键字:检查 var 一个对象 是否是 何检查 对象 我的 为什么      更新时间:2023-09-26

我正在尝试检测我的变量是对象。

我有那个代码:

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

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

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

问题:

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

您可以使用:

if(typeof obj == 'object')

看到

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

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

console.log(obj instanceof Object); 

此外,您正在比较带有===操作符的承包者(函数)的对象实例。这永远是错误的。