比较「;地点“;javascript中的对象

比较「;地点“;javascript中的对象,javascript,window.location,Javascript,Window.location,我想知道如何在javascript中比较“location”(window.location)对象,即在比较两个“location”对象时考虑哪些值 假设我有top.location=“”和self.location=“”。如果将它们比较为(top.location==self.location),则会给出false。然而,如果我将它们比较为(top.location.href==self.location.href),它将给出true 有人能解释为什么会这样吗 提前感谢。top.locatio

我想知道如何在javascript中比较“location”(window.location)对象,即在比较两个“location”对象时考虑哪些值

假设我有top.location=“”和self.location=“”。如果将它们比较为(top.location==self.location),则会给出false。然而,如果我将它们比较为(top.location.href==self.location.href),它将给出true

有人能解释为什么会这样吗


提前感谢。

top.location
self.location
是对象。无法使用
=
==
直接比较JavaScript中的对象,这就是为什么
top.location!=self.location


由于
top.location.href
self.location.href
是常规字符串,因此可以像往常一样使用
=
或更好的方法,使用与.JS中无法比较的+1 I对象密切相关的
==

对它们进行比较。谢谢你让我们知道。那么,是不是javascript中的对象无法比较?因为,框架破坏代码使用
顶部。位置
=
self.location
并且它工作正常。我怀疑,他们一定在做其他事情,尽管
top.location=self.location
始终等于
true
意味着帧将始终为“半身像”
top.location==self.location
?可以使用==(按属性)或==(按引用)对对象进行比较。