gpt4 book ai didi

javascript - HTMLCollection 是一个数组吗?

转载 作者:技术小花猫 更新时间:2023-10-29 12:04:19 24 4
gpt4 key购买 nike

我明白HTMLCollection实际上不是一个数组,否则它会被定义为一个数组。我使用一个名为 isArray() 的帮助函数来检测对象是否为数组。我到处都在使用这个小 helper ,在检查 htmlCollection 时,我一直在运行这个返回 false 的问题。

var isArray: function(obj) {
var type = Function.prototype.call.bind( Object.prototype.toString );
return type(obj) === '[object Array]' || type(obj) === '[object HTMLCollection]';
}

在这个辅助函数中检查 htmlCollection 类型并假设它与数组是一回事会不会是错误的?是什么让它与众不同?除了它的 html 元素而不是 javascript 对象。

最佳答案

不,它是一个 HTMLCollection,而不是一个 Array

它具有类似数组的特性,如数字属性和 .length 属性,但它不继承自 Array.prototype。因此它没有标准的 Array 方法,因此应该被看作是不同的。

另一个显着区别是 HTMLCollection 是一个“实时”集合,这意味着它会随着 DOM 的更新而更新。如果您从 DOM 中删除它的一个节点,它将自动从 HTMLCollection 中删除。

关于javascript - HTMLCollection 是一个数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12770147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com