JavaScript类数组对象
本文最后更新于 2025年7月30日 下午
类数组对象(伪数组对象)是指可以通过索引属性访问元素并且拥有一个 length
属性的对象。
注意,区分可迭代对象。可迭代对象是指实现了[Symbol.iterator]
方法属性的对象。
可迭代对象和类数组对象并非是相互排斥的。比如,字符串既是可迭代对象又是类数组对象。
类数组对象有arguments
对象、NodeList
对象、HTMLCollection
对象、DOMTokenList
对象、typedArray
对象等。
arguments
NodeList
文档的每个节点都有一个 childNodes 属性,指向其所有子节点,其中包含一个 NodeList 的实例。NodeList 是一个类数组对象,可以使用中括号和 item() 方法访问它的值,而且它也有 length 属性。
HTMLCollection
getElementsByTagName() 方法接收一个参数,即要获取元素的标签名,返回包含零个或多个元素的 NodeList。在 HTML 文档中,该方法返回 HTMLCollection 对象。可以使用中括号或 item() 方法从 HTMLCollection 取得特定的元素。而取得元素的数量同样可以通过 length 属性得知。HTMLCollection 对象还有一个额外的方法 namedItem(),可通过标签的 name 属性取得某一项的引用。这样,就提供了除索引之外的另一种获取列表项的方式,从而为取得元素提供了便利。对于 name 属性的元素,还可以直接使用中括号来获取。对 HTMLCollection 对象而言,中括号既可以接收数值索引,也可以接收字符串索引。而在后台,数值索引会调用 item(),字符串索引会调用 namedItem()。
DOMTokenList
classList 属性返回是一个新的集合类型 DOMTokenList 的实例。与其他 DOM 集合类型一样,DOMTokenList 也有 length 属性表示自己包含多少项,也可以通过 item() 或中括号取得个别的元素。