【发布时间】:2015-02-25 07:23:49
【问题描述】:
我发现javascript中的for循环和for-in循环是有区别的。
当我定义一个新数组时:
var a=new Array();
然后我将一些值放入但不是连续的,例如:
a[0]=0;a[1]=1;a[4]=4;
当我使用for(i=0;i<5;i++) 获取值并使用alert 显示它时,它与使用for(i in a) 不同。
前一个将显示索引 2,3 中显示“未定义”的元素,而 for-in 将仅显示索引 0,1 和 4。谁能告诉我为什么?
【问题讨论】:
-
是的,它们用于不同的目的。另外,你有一些问题,你忘了
var,你应该使用[]而不是new Array,JS 中的稀疏数组不是好的做法。 -
JavaScript 数组是类似列表的对象,而不是典型的数组。
-
JavaScript for...in vs for 的可能重复项
标签: javascript arrays for-loop for-in-loop