首页 > 编程知识 正文

js迭代器和生成器,html高级程序设计

时间:2023-05-04 15:39:24 阅读:120722 作者:1993

学习记录

课程名称

迭代器和生成器

时间

2021.3.16

话题关键词

迭代器、生成器、yield、可中断、仅遍历一次

总结

迭代器是所有编程语言中都可以看到的模式。 ECMAScript 6正式支持迭代模式,并引入了两种新的语言特性。

迭代器生成器

迭代器是一个接口,可以在任何对象上实现,它支持连续检索对象生成的所有值。 实现iterable接口的对象具有Symbol.iterator属性,该属性引用默认的小程序。 迭代器就像一个迭代器工厂,也就是函数,调用时会生成实现迭代器接口的对象。

迭代器必须在连续调用next()方法上连续获取值。 此方法向名为IteratorObject .的对象返回done和value属性。 前者是布尔值,指示是否可以访问更多的值。 后者包含迭代器返回的当前值。 该接口可以通过手动重复调用next (方法)来使用,也可以由本机消费者(如for-of循环)自动使用。

生成器是在调用后返回生成器对象的特殊函数。 生成器对象实现了Iterable界面,因此可以在任何占用可重复对象的地方使用。 生成器的唯一之处是支持可以暂停生成器函数运行的yield关键字。 使用yield关键字,还可以通过next )方法接收输入并生成输出。 如果加上星号,则yield关键字可以将随后的可重复对象序列化为一组值。

:我还不知道发生器和迭代器在实际业务里上的应用场景,所以用深度优先遍历发生器写可以看出它很优雅。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。