我应该使用for循环结构还是forEach方法进行迭代?

时间:2010-06-14 23:04:08

标签: javascript

一种方式更有效吗?一种方法与另一种方法有任何限制吗?感谢你们给我的任何意见; - )

2 个答案:

答案 0 :(得分:7)

Array.prototype.forEach方法是ECMAScript第5版规范的一部分,可在all browsers上找到,但不能在IE中找到。

我建议你使用一个简单的顺序for循环,因为forEach需要一个回调函数,IMO效率更高,一个函数将被创建,开始一个闭包而你不需要关心关于IE。

但是,如果您要使用forEach和所有其他新Array.prototype方法,例如mapfiltereverysome等等......您可以在我链接的页面中为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)