在Mozilla的页面迭代器和生成器中,有这样一句话:
关于上述解释,难道不可能在没有生成器的情况下编写迭代算法吗,例如:虽然自定义迭代器是一个有用的工具,但它们的创建需要小心编程,因为需要显式地维护其内部状态。生成器提供了一个强大的替代方案:它们允许您通过编写单个函数来定义迭代算法,该函数可以维护其自己的状态。
Array[Symbol.iterator] = function(){
return {
next: function(){
//logic
return {
value: "",
done:false
}
}
}
}
我无法理解。有人能否解释一下为什么要创建一种替代品,对我来说似乎没有太大的区别。
next
:是迭代函数,用于遍历数组中的每个变量。 - Evan Carslake