本章涉及:理解迭代器理解可迭代对象理解两个协议:IteratorProtocol和IterableProtocol理解JS中一些语法的实现原理迭代器在JavaScript中,迭代器是一个对象,它定义了一个序列,并在终止时返回一个返回值。迭代器是需要遵守迭代器协议(iteratorprotocol)的对象。什么是迭代器协议?迭代器协议MDN迭代器协议只是说对象必须包含一个next()方法参数:一个没有参数或一个参数的函数返回值:返回一个包含done(Boolean)和value(any)属性的对象done属性说明:如果迭代器可以产生序列中的下一个值,则为false。(这等同于不指定done属性。)如果迭代器已完成对序列的迭代,则为真。在这种情况下,value是可选的,如果它仍然存在,则它是迭代结束后的默认返回值。根据上面的条件constobj={next:function(){return{done:false,value:321321}}}这里obj是一个迭代器。迭代器实践//为数组创建迭代器(数组本身就有迭代器)functioncreateArrayIterator(arr){letindex=0;//迭代器是一个对象,返回一个对象,对象包含next方法return{next:function(){if(index
