[][] 是 JavaScript 中的一个空数组,可以访问 .对于每个。这种机制通常用于迭代节点列表,因为它提供了一种在节点列表中的每个元素上执行函数的便捷方法。
.call() 方法是一个函数原型,允许您替换具有指定对象的函数内的“this”关键字。在 [].forEach.call() 的上下文中,空数组被指定为调用者对象 (this),而节点列表作为第一个参数传递给 .forEach() 方法。
该技术通过提供对类似数组的属性和方法的直接访问,简化了循环节点列表的过程。传递给 .forEach() 的函数接收三个参数:
例如,以下代码片段使用 [].forEach.call() 迭代网页上的所有“a”标签:
``
[].forEach。 call(document.querySelectorAll('a'), function(el) {
// 对每个 'a' 标签执行一些操作
});
``
While .forEach( ) 是一种迭代节点列表的便捷方法,但值得注意的是,一些粗俗且难看的解决方案(例如使用 [].forEach.call())可能会使您的代码库变得混乱。建议坚持内联循环或使用干净的辅助方法和库,以更具可读性和可维护性的方式提供此功能。
ES6 引入了更简单的选项,例如 Rest 和 Spread 运算符,这使得更容易在数组和类数组对象之间进行转换,无需使用黑客方法。
以上是## 为什么使用 `[].forEach.call()` 在 JavaScript 中迭代节点列表?的详细内容。更多信息请关注PHP中文网其他相关文章!