JavaScript中基本for循环和for in循环的区别

JavaScript中基本for循环和for in循环的区别,javascript,for-loop,for-in-loop,Javascript,For Loop,For In Loop,可能重复: 在哪些情况下使用 for (var i = 0; i < array.length; i++) 用JavaScript for (var i = 0; i < array.length; i++) 用于遍历对象的可枚举属性,包括继承的可枚举属性。秩序无法保证。虽然数组是一个对象,并且此方法对数组“有效”,但它并不理想,因为返回的属性可能没有任何特定的顺序。此外,如果在数组对象上放置了任何猴子补丁或垫片,它们可以显示在此处。检查此项也可能重复此问题有答案,因此您无法删

可能重复:

在哪些情况下使用

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

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

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

检查此项也可能重复此问题有答案,因此您无法删除它。请稍等片刻,它将获得足够的投票以关闭。这就是为什么人们将Javascript属性与关联数组混淆。它们确实有许多共同点,包括能够对它们进行迭代。当然,现在并不是所有的属性都可以迭代。宿主对象遵循自己的规则,并且
严格模式
提供了创建某些属性的选项
DontEnum
for (var i = 0; i < array.length; i++)
for (var i in object) // with object.hasOwnProperty