生成器对象(Generator )是由一个 generator function 返回的,它同时符合可迭代协议和迭代器协议。

语法

function* gen() { yield 1;yield 2;yield 3;
}var g = gen(); // "Generator { }"

方法

Generator.prototype.next():返回yield表达式的值。(详见)
Generator.prototype.return():return() 方法返回给定的值并结束生成器。(详见)
Generator.prototype.throw():向生成器抛出一个错误。(详见)

举例:一个无限迭代器

function* idMaker() {let index = 0;while (true) {yield index++;}
}let gen = idMaker();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
// 0
// 1
// 2
// 3

生成器对象(Generator)相关推荐

  1. Python3---可迭代对象(iterable)、迭代器(iterator)、生成器(generator)的理解和应用

    文章目录 1. 可迭代对象(iterable) 1).可迭代性----for循环原理 2).可迭代对象的特征: 3).可迭代对象的源码: 2. 迭代器(iterator) 1).迭代器的源码: 2). ...

  2. python特性(八):生成器对象的send方法

    生成器对象是一个迭代器.但是它比迭代器对象多了一些方法,它们包括send方法,throw方法和close方法.这些方法,主要是用于外部与生成器对象的交互.本文先介绍send方法. send方法有一个参 ...

  3. php生成对象吗,php生成器对象

    当一个生成器函数被第一次调用,会返回一个内部Generator类的对象. 这个对象以和前台迭代器对象几乎同样的方式实现了Iterator 接口. Generator 类中的大部分方法和Iterator ...

  4. Python学习笔记:生成器(Generator)

    Python学习笔记:生成器(Generator) 拥有迭代序列的一致方式,比如列表里的对象或文件里的行,是Python的一项重要特性.这是通过迭代器协议的方式来完成的,一种生成可迭代对象的通用方式. ...

  5. ES6生成器函数generator

    ES6生成器函数generator generator是ES6新增的一个特殊函数,通过 function* 声明,函数体内通过 yield 来指明函数的暂停点,该函数返回一个迭代器,并且函数执行到 y ...

  6. ES6 生成器(Generator)

    ES6 生成器(Generator) 目录 ES6 生成器(Generator) 什么是生成器? 基本用法 生成器相关操作 斐波那契数列 对象中的Generator 什么是生成器? 生成器就是通过构造 ...

  7. 名字生成器 php,php生成器对象

    当一个生成器函数被第一次调用,会返回一个内部Generator类的对象. 这个对象以和前台迭代器对象几乎同样的方式实现了Iterator 接口. Generator 类中的大部分方法和Iterator ...

  8. Python 生成器(generator)详细总结+示例

    文章目录 简介 生成器表达式 生成器函数 详解 向生成器发送数据 为什么是这样 扩展 了解一下 yield from 生成器 注意 简介 生成器(generator)是一种返回一个值的迭代器,每次从该 ...

  9. 【Python高级语法】——生成器(generator)

    生成器generator 1.引出生成器   通过列表⽣成式,我们可以直接创建⼀个列表.但是,受到内存限制,列表容量肯定是有限的.⽽且,创建⼀个包含非常多个元素的列表,不仅占⽤很⼤的存储空间,如果我们 ...

最新文章

  1. .net与数据库知识点
  2. 10013: An attempt was made to access a socket in a way forbidden by its access permissions
  3. 【转】Ubuntu 16.04 Nvidia驱动安装(run方式)
  4. 去除面部黑色素小妙招_面部黑色素沉着怎么去除 推荐几个去黑色素的方法
  5. Schedulerx2.0分布式计算原理最佳实践
  6. riak文件服务器,Docker中文文档
  7. 并发的线程入门到并发安全原理解析,offer拿到手软
  8. 求职 IT 少年李文星之死:请务必学会保护自己!
  9. JQuery淡入淡出 banner切换特效
  10. CSS3魔法堂:说说Multi-column Layout
  11. Linux sed命令之删除文件第一行,第n行
  12. 7、网友问答之ASCII字符传转换为数值-------------labview宝典
  13. i3wm 获取window class
  14. mysql asc_mysql – 在字符串列上使用asc和desc的索引
  15. Windows XP默认用户自动登录
  16. window.open在苹果手机上失效的问题
  17. 《梦的解析》读后感(来给自己解解梦吧)
  18. 《神经网络与深度学习》(Michael Nielsen)Neural Networks and Deep Learning习题解答汇总
  19. 安卓逆向——AS开发Xposed插件demo案例
  20. 51单片机——LCD1602液晶显示屏

热门文章

  1. 技术人员要拿百万年薪,必须要经历这9个段位
  2. Linux 用户passwd文件详解
  3. 【数据可视化】 D3+ArcGIS 迁徙图实现
  4. 自定义html 标签中的 title属性,感觉默认title 难看,强迫症专用
  5. 测绘技能大赛-虚拟仿真数字测图(内业部分)
  6. 尼日利亚总统候选人称区块链可以加速经济发展
  7. Java通过_id查询mongodb数据库
  8. vue-vue2.0源码分析
  9. UML在软件工程中的使用场景与简单使用
  10. [量化-017]防雷