gpt4 book ai didi

javascript - nodeList 和参数不是实际数组是否有原因?

转载 作者:行者123 更新时间:2023-11-30 17:09:27 26 4
gpt4 key购买 nike

nodeListarguments 只是“类似数组”的优点是什么?

最佳答案

参数

arguments 不是真正的数组是历史产物。尽管正如在另一个答案中指出的那样,它具有 callee 属性,并且可以代理到实际参数上,但它本身并不会阻止它成为一个真正的数组。有关更多讨论,请参阅 Why isn't a function's arguments object an array in Javascript? .还值得指出的是,arguments 上的 toString 方法的行为不同于数组。

节点列表

NodeList 本身不是 JS 的一部分;它是一个 DOM 数据接口(interface)定义,旨在用于多种语言和环境。如果它是 JS 实现中的数组,人们可能希望它是 Array 的子类类型,但 JS 不支持 Array 的子类化。此外,在这种情况下,我们会遇到 DOM 数据类型的稍微奇怪的情况,它在 JS 中不同于(扩展)指定数据接口(interface)的定义。确实,正如其他答案中所指出的那样,NodeList 可能是“实时的”,但同样,这本身并不能阻止它成为一个真正的数组。

ES6 提供了诸如 Array.from 之类的函数,可以减轻一些痛苦。

关于javascript - nodeList 和参数不是实际数组是否有原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27308871/

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