检查对象等于对象javascript

use*_*313 -1 javascript object

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

我想检查两个对象是否没有区别:

var v1 = {id:"llll", dd="kkkk"};
var v2 = {id:"llll", dd="kkkk"};

if (v1 == v2)
{
    alert("lll");
}
Run Code Online (Sandbox Code Playgroud)

不行的原因????

Rob*_*b W 5

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

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

以下对象类型按值进行比较,而不是通过引用进行比较:

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

另外,有一个对象永远不会与自身相等,甚至不能通过引用:

var test = NaN;
alert ( test == NaN  ); // false
alert ( test == test ); // false (!)
Run Code Online (Sandbox Code Playgroud)

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

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

  • @ user1194313,不,你的问题是"为什么这不起作用?" 你甚至没有花时间写出来.在不付出任何努力的情况下请求代码是粗鲁和不可接受的行为. (3认同)