【发布时间】:2011-01-08 16:52:29
【问题描述】:
我偶然发现了这个将 DOM NodeList 转换为常规数组的简洁快捷方式,但我必须承认,我并不完全理解它是如何工作的:
[].slice.call(document.querySelectorAll('a'), 0)
所以它从一个空数组[]开始,然后slice用于将call的结果转换为一个新数组是吗?
我不明白的是call。那如何将 document.querySelectorAll('a') 从 NodeList 转换为常规数组?
【问题讨论】:
-
Array.prototype.slice.call(document.querySelectorAll('a'));是编写您编写的代码块的正确方法。 -
顺便说一句,现代(直观易懂)的 ES6 方法是
Array.from。所以例如这会做同样的事情: Array.from(document.querySelectorAll('a')); -
这能回答你的问题吗? how does Array.prototype.slice.call() work?
标签: javascript arrays call slice