1.js对空对象的判断
方法一:使用Object.keys方法检查对象是否拥有属性 方法二:使用JSON.stringify方法将对象转换为字符串,再判断字符串是否为空
注释:
现在让我们来解释为什么 {} === {}
返回 false
。当你使用 {}
创建两个对象时,每个对象都被存储在内存的不同位置。即使它们的内容相同(都是空对象),它们在内存中的地址不同。
当我们使用 ===
运算符比较两个对象时,它实际上在比较对象在内存中的引用地址,而不是对象的内容。当我们通过创建两个对象 {}
时,每个对象都被独立分配到堆内存中的不同地址。尽管这两个对象可能具有相同的结构和属性,但它们是独立创建的,引用地址并不相同。因此,{} === {}
返回 false
。