8

可能的重复:
带有数组的 JavaScript “For ...in”

在哪些情况下使用

for (var i = 0; i < array.length; i++)

不同于使用

for (var i in array)

在 JavaScript 中?

4

1 回答 1

4
for (var i = 0; i < array.length; i++)

最适合遍历数组,按顺序访问所有数组元素。

在现代 javascript 引擎上,array.forEach通常更干净。

for (var i in object) // with object.hasOwnProperty

用于遍历 OBJECT 的可枚举属性,包括继承的可枚举属性。订单不放心。尽管数组是一个对象,并且此方法对数组“有效”,但它并不理想,因为返回的属性可能没有任何特定的顺序。此外,如果在数组对象上放置了任何猴子补丁或垫片,它们可以显示在此处。

于 2012-09-06T03:26:56.690 回答