for (var index in myArray) { // don‘t actually do this
console.log(myArray[index]);
}
缺点:
- 数组的索引值index是String类型的“0”,“1”,“2”等等,而不是Number类型。当你进行算术运算时(“2”+1==“21”)也许并不是你期望的结果,所以运算前需要类型转换,这很不方便。
- 循环体不仅会遍历数组的元素,甚至连expando属性也遍历出来了。举个例子,如果你的myArray数组中有一个叫做name的属性,遍历时就将 index ==”name”也遍历出来,这样就多了一次执行。即时这些属性在数组的原型链上是可直接访问的。
- 最让人无语的是,在某些情况下,这段代码在遍历数组元素时顺序是任意的。
一般用以下两种:
myArray.forEach(function (value) {
console.log(value);
});
for (var index = 0; index < myArray.length; index++) {
console.log(myArray[index]);
}
时间: 2024-11-07 23:18:06