本文介绍: 生成器是一种特殊的函数,它可以在执行过程中暂停,并返回一个迭代器对象。生成器函数通过function*语法来定义,在函数体内使用yield语句可以暂停函数执行,并将值返回给调用方。生成器函数返回的迭代器对象和普通迭代器对象类似,都有一个next()方法,可以用来获取生成器函数中使用yield语句返回的值。但是,生成器函数可以在执行过程中多次返回值,并且可以在每次返回值之间执行一些逻辑操作,这使得生成器函数比普通迭代器更加灵活。2、第一次 n.next(): 函数开始执行,遇到。
一、迭代器(Iterator)
1、迭代器本质
2、可迭代协议
3、next() 方法返回的具有两个属性的对象:
1)value
迭代序列的下一个值。迭代器返回的任何 JavaScript 值。done 为 true 时可省略
2)done
如果已经迭代到序列中的最后一个值,则它为 true
。如果 value
和 done
一起出现,则它就是迭代器的返回值。
4、实现Iterator接口的原生对象
二、生成器
生成器函数与和普通的函数的区别:
2、生成器函数可以通过yield关键字来控制函数的执行流程:
3、生成器函数的返回值是一个Generator(生成器):
4、生成器事实上是一种特殊的迭代器
三、实例机器代码执行过程
示例代码:
代码执行过程:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。