我很困惑为什么以下不评估为真。 如何比较两个对象是否相同?
var x = new Object();
var y = {};
x == y // false
function Person(name) {
this.name = name;
}
var p1 = new Person("Chris");
var p2 = new Person("Chris");
p1 == p2 // false
答案 0 :(得分:2)
如果不了解JS引擎的工作方式,只需将对象视为现实世界中的对象就可以理解它。如果x
是一个球而y
是一把椅子,那么它们并不相同,因为它们都是对象。如果您认识两个名为Chris
的人,那么他们就不是同一个人,他们只有相同的名字。