javascript - Javascript 的 HTMLCollection 中的对象变量比较

标签 javascript dom

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"

来源:https://developer.mozilla.org/en-US/docs/Web/API/HTMLCollection

在上面的代码中,变量 elem1elem2 都保存相同的对象,即 DOM 节点

我想知道,在语句 elem1 === elem2 中实际比较的是什么 以便其计算结果为 TRUE 表达式。是 nodeTypenodeValue 还是 nodeName

最佳答案

以上都不是。

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

关于javascript - Javascript 的 HTMLCollection 中的对象变量比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19120686/

相关文章:

javascript - 在 Angular Bootstrap DateTimePicker 中禁用时间

javascript - 每次建立新连接时,Socket.io 连接都会不断增加

javascript - 获取元素的 CSS 选择器(当它没有 id 时)

javascript - 在开发模式下看到开发者控制台中的 Angular 6 单击绑定(bind)吗?

javascript - 如何填充动态创建的 SVG(检查 DOM 是否更新)

javascript - 在 nvd3 气泡图中隐藏气泡

javascript - 如何处理对循环中发出的多个异步请求(AJAX 调用)的响应

javascript - 如何将预先存在的 sigma 实例传递给 sigma.parsers.gexf

javascript - 在 Javascript 中添加一系列表示用户模型属性的 <li> 标签

javascript - Jquery 类选择器无法选择使用 .append() 添加的新类实例