check object Equal object javascript

check object Equal object javascript

本文关键字:object javascript Equal check      更新时间:2023-09-26

可能重复:
如何确定两个JavaScript对象的相等性?

我想检查两个对象是否相同:

var v1 = {id:"llll", dd="kkkk"};
var v2 = {id:"llll", dd="kkkk"};
if (v1 == v2)
{
    alert("lll");
}

为什么不工作????

因为对象是通过引用进行比较的:

  • 功能
  • 对象(主机对象、本机对象/构造函数和实例)
  • 一个常见的实例是{},它类似于new Object

以下对象类型是通过值而非参考进行比较的:

  • 字符串
  • 数字
  • 布尔
  • nullundefined

此外,有一个对象从不等于它自己,甚至不通过引用:

var test = NaN;
alert ( test == NaN  ); // false
alert ( test == test ); // false (!)

要检查两个对象是否相等,必须定义相等:

  • "如果两个对象包含相同的属性名称和值,则它们是相等的"
    这意味着对象A必须具有与对象B相同数量的属性,并且A中的每个属性也必须是B的属性

尝试使用"==="而不是"=="来比较对象。