关于JavaScript迭代器

求大神解释一下红线部分是什么意思?一直不理解,为什么这么说。
用forof迭代不也是先要知道用forof可以迭代吗

阅读 960
2 个回答

大意应该是

在较早的版本中,没有迭代器,执行迭代必须自己实现这个功能。现在不需要自己去实现了,它底层封装了,你拿来用就行了

一个对象能否被forof循环, 主要看他是否实现了迭代接口, 所以循环操作已经把迭代的操作隐藏了, 所以说开发者不需要知道怎么迭代.

一般来说, 迭代器有hasNext() next()方法, 使用迭代器看起来像是这样:

let it = makeRangeIterator(1, 10, 2);

let result = it.next();
while (!result.done) {
 console.log(result.value); // 1 3 5 7 9
 result = it.next();
}

看这个: https://zh.m.wikipedia.org/zh...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题