判断一个变量是不是空对象有两步
- 变量是不是对象
- 对象是不是空的
判断变量是不是对象
var obj;
typeof obj === 'object'
null
typeof
即可做一个简单的判断,但是要注意 null
因为typeof null === 'object'
为 true
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS83LzE1LzE2YmY2MWNlYTlhNGRiOTY)
所以判断是不是对象的语句如下
obj !== null && typeof obj === 'object'
[]
因为 typeof [] === 'object'
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS83LzE1LzE2YmY2MjQ0YjZkZGE5NjM)
用 Array.isArray(obj)
判断
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS83LzE1LzE2YmY2MjVmMzljY2ZmMDQ)
所以判断是不是对象的终极语句如下