MDN says this关于Array.prototype.forEach.call(nodeList, fn)
:
将宿主对象(如NodeList)传递给本机方法 (例如forEach)不保证在所有浏览器中都可以使用 已知在某些方面失败。
后来建议Array.prototype.slice.call(nodeList)
将节点列表转换为数组,但不会对其发出任何警告。
因此,尝试在forEach
上使用forEach
时,使用第二种方法(以便稍后可以在生成的数组上使用nodeList
)是否更安全,或者他们几乎做同样的事情?
我目前认为两者都在做同样的事情:将主机对象作为this
传递给本机方法。
我使用简单的for
循环,但我试图遵守新版本的JSLint(另外,我认为forEach
看起来非常漂亮)。