循环的问题
如果你曾用 JS
编写过程序,那么或许写过如下代码:
var colors = ["red", "green", "blue"];
for (var i = 0, len = colors.length; i < len; i++) {
console.log(colors[i]);
}
此处使用了 for
循环的标准方式,借助 i
变量来追踪 colors
数组中的位置索引。当 i
的值小于暂存在 len
变量中的数组长度时,循环每一次执行都会递增 i
的值。
虽然这个循环非常直观,然而当它被嵌套使用并要追踪多个变量时,情况就会变得非常复杂。额外的复杂度会引发错误,而 for
循环的样板性也增加了自身出错的可能性,因为相似的代码会被写在多个地方。迭代器正是用来解决此问题的。