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