迭代器(Iterator)、生成器(Generator )、装饰器(Decorator)

1、迭代器

 可以看出数组和字符串默认已经部署了iterator接口,只要部署了,我们调用接口,返回遍历器对象,然后执行next() 方法即可实现一个个获取数据中的元素!!!

2、生成器

 

 

 

从上面的案例可以看出,生成器的作用就是一下一下出结果,而不是一下子把所有的结果都拿出来。一个很重要的作用就是可以控制循环!也可以看出生成器默认返回迭代器对象,和迭代器的next用法一致。

小结:

1、存在迭代器接口和迭代器对象两个概念。

2、执行迭代器接口或者说迭代器函数,即可返回迭代器对象。

3、迭代器对象有两个特点,一是可以用 for .. of 进行遍历;另一个是可以执行next() 函数 来一步步获取结果。

4、生成器执行后返回的就是一个迭代器对象,它除了可以用next() 方法,也可以使用for ... of 遍历。

5、数组和字符串默认部署了迭代器接口,我们只要主动执行这个接口,便可获得迭代器对象,进而我们可以执行next() 或者说用for ... of 循环。

6、for ... of 循环数组或者字符串的时候,默认就执行了迭代器接口, 无需手动执行。

7、迭代器除了默认的部署,还可以手动部署。

原文地址:https://www.cnblogs.com/teamemory/p/12542575.html