1:遍历器是一种接口,为各种不同的数据结构提供统一的访问机制;任何数据结构,只要部署iterator接口,就可以完成遍历操作;
2:遍历器的作用有3个:
(1)为各种数据结构提供一个统一的,简便的访问接口
(2)使得数据结构的成员能够按某种次序排列,
(3)ES6提供了一种新的遍历—for…of循环,iterator接口主要供for…of消费;
3:iterator的遍历过程如下:
(1)创建一个指针对象,指向当前数据结构的起始位置,也就是说,遍历器对象本质上就是一个指针对象;
(2)第一次调用next方法,可以将指针指向数据结构的第一个成员
(3)第2次调用next方法,可以将指针指向数据结构的第2个成员
(4)不断调用next方法,直到它指向数据结构的结束位置;
4:每次调用next方法,就会返回一个对象
{
value:value //返回当前位置的成员
done:true/false //表示遍历是否结束
}