Javascript中的对象变量比较';s HTMLCollection

Javascript中的对象变量比较';s HTMLCollection,javascript,dom,Javascript,Dom,Src: 在上述代码中,变量elem1和elem2都持有相同的对象,即DOM节点 我想知道,在语句elem1===elem2中,实际比较的是什么 因此它的计算结果为TRUE表达式。它是nodeType,nodeValue还是nodeName?以上都不是 =运算符检查引用相等性。 只有当两个表达式都引用同一个对象时,它才会返回true。以上任何一项都不会返回 =运算符检查引用相等性。 只有当两个表达式引用同一个对象时,它才会返回true。实际上没有比较任何属性elem1和elem2是对对象的引用,

Src:

在上述代码中,变量
elem1
elem2
都持有相同的对象,即DOM节点

我想知道,在语句
elem1===elem2
中,实际比较的是什么 因此它的计算结果为
TRUE
表达式。它是
nodeType
nodeValue
还是
nodeName

以上都不是

=
运算符检查引用相等性。
只有当两个表达式都引用同一个对象时,它才会返回true。

以上任何一项都不会返回

=
运算符检查引用相等性。

只有当两个表达式引用同一个对象时,它才会返回true。

实际上没有比较任何属性
elem1
elem2
是对对象的引用,两个变量恰好指向同一个对象


在本例中,您也可以使用
==
=
还检查参数的类型。

实际上没有比较任何属性
elem1
elem2
是对对象的引用,两个变量恰好指向同一个对象


在本例中,您也可以使用
==
=
还检查参数的类型。

另请参见此问题:另请参见此问题:这是否适用于以下var myCar=new car();或var x=document.getElementById(“段落”);我是说myCar和x是对对象的引用?@dkjain:所有Javascript变量都是对对象的引用(除了原语值),这是否适用于以下变量myCar=new car();或var x=document.getElementById(“段落”);我是说myCar和x是对对象的引用?@dkjain:所有Javascript变量都是对对象的引用(除了原语值)
var elem1, elem2;

// document.forms is an HTMLCollection

elem1 = document.forms[0];
elem2 = document.forms.item(0);

alert(elem1 === elem2); // shows: "true"

elem1 = document.forms["myForm"];
elem2 = document.forms.namedItem("myForm");

alert(elem1 === elem2); // shows: "true"