1、迭代器
可以看出数组和字符串默认已经部署了iterator接口,只要部署了,我们调用接口,返回遍历器对象,然后执行next() 方法即可实现一个个获取数据中的元素!!!
2、生成器
从上面的案例可以看出,生成器的作用就是一下一下出结果,而不是一下子把所有的结果都拿出来。一个很重要的作用就是可以控制循环!也可以看出生成器默认返回迭代器对象,和迭代器的next用法一致。
小结:
1、存在迭代器接口和迭代器对象两个概念。
2、执行迭代器接口或者说迭代器函数,即可返回迭代器对象。
3、迭代器对象有两个特点,一是可以用 for .. of 进行遍历;另一个是可以执行next() 函数 来一步步获取结果。
4、生成器执行后返回的就是一个迭代器对象,它除了可以用next() 方法,也可以使用for ... of 遍历。
5、数组和字符串默认部署了迭代器接口,我们只要主动执行这个接口,便可获得迭代器对象,进而我们可以执行next() 或者说用for ... of 循环。
6、for ... of 循环数组或者字符串的时候,默认就执行了迭代器接口, 无需手动执行。
7、迭代器除了默认的部署,还可以手动部署。