在JavaScript中迭代

时间:2016-03-28 03:45:47

标签: javascript

This MDN page声称:

  

...您可以使用以下内容迭代数组:

for (var i = 0; i < a.length; i++) {
  // Do something with a[i]
}
     

当您查找length属性时,这效率稍低   每一次循环。这是一个改进:

for (var i = 0, len = a.length; i < len; i++) {
  // Do something with a[i]
}
     

一个看起来更好但有限的习语是:

for (var i = 0, item; item = a[i++];) {
  // Do something with item
}

这些是真正普遍接受的迭代方式吗?现代JavaScript引擎不会简单地优化第一个吗?

1 个答案:

答案 0 :(得分:1)

MDN页面不正确。现代引擎优化长度的处理。事实上,一些引擎实际上会更快地运行第一个片段。