为什么不建议使用for in循环数组

2019-05-19  本文已影响0人  打静爵
var list = [8, 3, 11, 9, 6]
for (i in list) {
  console.log(list[i]);
}

首先JavaScript引擎在进行上面循环的时候,执行循序并不保证是按顺序进行迭代;其次,数组的其他属性(例如:length)也可能参与迭代(在较老IE中会出现这种情况);最后,在上面的例子中,i的类型其实是字符串(string)而不是数字,如果在此进行一些数字操作判断,就得不到正确的结果了。

for in的正确用法其实是用于迭代对象的可枚举键,而不是用于迭代数组。

上一篇下一篇

猜你喜欢

热点阅读