JavaScript - myArray.forEach与for循环的细微差别

29 浏览
0 Comments

JavaScript - myArray.forEach与for循环的细微差别

我见过很多问题建议使用以下方式来遍历数组:

for (var i = 0; i < myArray.length; i++){ /* ... */ }

而不是:

for (var i in myArray){ /* ... */ }

原因是遍历不一致(详见这里)。


不过,我找不到任何倾向于使用面向对象循环的东西:

myArray.forEach(function(item, index){ /* ... */ });

在我看来,这种方式更直观。

对于我当前的项目,兼容IE8很重要,我正在考虑使用Mozilla的polyfill,不过我不确定这将如何运作。

  • 标准的for循环(上面的第一个例子)和现代浏览器中的Array.prototype.forEach实现之间有什么区别吗?
  • 现代浏览器实现和上面链接的Mozilla实现有什么区别(特别是与IE8相关的区别)?
  • 性能不是太大问题,只是希望在遍历属性时保持一致性。
0