一种方式更有效吗?一种方法与另一种方法有任何限制吗?感谢你们给我的任何意见; - )
答案 0 :(得分:7)
Array.prototype.forEach
方法是ECMAScript第5版规范的一部分,可在all browsers上找到,但不能在IE中找到。
我建议你使用一个简单的顺序for
循环,因为forEach
需要一个回调函数,IMO效率更高,一个函数将被创建,开始一个闭包而你不需要关心关于IE。
但是,如果您要使用forEach
和所有其他新Array.prototype
方法,例如map
,filter
,every
,some
等等......您可以在我链接的页面中为IE添加实现。
答案 1 :(得分:2)
类似于每个但在所有浏览器中都支持的
for (var i = 0, myArrayElement; myArrayElement = myArray[i]; i++) {
//now you can just use
// myArrayElement
// instead of
// myArray[i]
}
请注意,我在迭代表单集合时使用它(即document.forms [0] .elements)