首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >循环通过NodeList: Array.prototype.forEach.call() vs Array.from().forEach

循环通过NodeList: Array.prototype.forEach.call() vs Array.from().forEach
EN

Stack Overflow用户
提问于 2017-04-17 10:47:12
回答 3查看 2.3K关注 0票数 6

因此,我希望找到一种简单的方法来遍历nodelists,而且我一直讨厌不能在nodeLists上使用nodeLists。

所以,现在我知道了:Array.prototype.forEach.call(nodeList, callback)

对于索引,我需要:Array.prototype.indexOf.call(nodeList, node)

而且,我在nodeLists上使用的几乎所有东西都是nodeLists。

但我想知道这些是不是被认为是黑客?

他们是正确的方法吗?

另外,假设我实际上不需要来自nodeList的数组,那么使用Array.from(nodeList).forEach(callback)是否有优势呢?

EN

Stack Overflow用户

发布于 2017-04-17 10:50:44

代码语言:javascript
运行
复制
var array=Array.from(nodeList);
//after some time
var array2=Array.from(nodeList);

如果比较这些数组,就会发现它们不一定相等。NodeLists反映了DOM的变化,当您复制它们时,数组将保持静态。如果你想要这种行为/不在乎,你会没事的。然而,Array.from是非常新的,因此它不能被旧的浏览器理解,所以它不应该在生产环境中使用(如果您不使用像Babel这样的东西)。

票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43449971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档