我很困惑为什么以下内容不评估为 true。 如何比较两个对象是否相同?
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
最佳答案
无需深入了解 JS 引擎的工作原理,您只需将其想象为现实世界中的对象即可理解它。如果 x 是球,y 是椅子,则它们并不相等,因为它们都是对象。如果您认识两个名为 Chris
的人,他们就不是同一个人,只是名字相同而已。
关于JavaScript 对象和数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26343070/