Skip to content

服务器托管,北京服务器托管,服务器租用-价格及机房咨询

Menu
  • 首页
  • 关于我们
  • 新闻资讯
  • 数据中心
  • 服务器托管
  • 服务器租用
  • 机房租用
  • 支持中心
  • 解决方案
  • 联系我们
Menu

迭代器与生成器总结

Posted on 2023年9月19日2023年9月19日 by hackdl

参考《JavaScript高级程序设计》


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

迭代器是一个可以由任意对象实现的接口,支持连续获取对象产出的每一个值。任何实现 Iterable 接口的对象都有一个 Symbol.iterator 属性,这个属性引用默认迭代器。默认迭代器就像一个迭代器工厂,也就是一个函数,调用之后会产生一个实现 Iterator 接口的对象。

迭代器必须通过连续调用 ==next()==方法才能连续取得值,这个方法返回一个** IteratorObject**。这个对象包含一个 done 属性和一个 value 属性。前者是一个布尔值,表示是否还有更多值可以访问;后者包含迭代器返回的当前值。这个接口可以通过手动反复调用 ==next()==方法来消费,也可以通过原生消费者,比如 for-of 循环来自动消费。

生成器是一种特殊的函数,调用之后会返回一个生成器对象。生成器对象实现了 Iterable 接口,因此可用在任何消费可迭代对象的地方。生成器的独特之处在于支持 yield 关键字,这个关键字能够暂停执行生成器函数。使用 yield 关键字还可以通过 ==next()==方法接收输入和产生输出。在yield加上星号之后,yield 关键字可以将跟在它后面的可迭代对象序列化为一连串值。

任何实现 Iterable 接口的数据结构都可以被实现 Iterator 接口的结构“消费”(consume)。迭代器(iterator)是按需创建的一次性对象。每个迭代器都会关联一个可迭代对象,而迭代器会暴露迭代其关联可迭代对象的 API。

服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net

相关推荐: 存下吧!Spring高频面试题总结

Spring是什么? Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 Spring的优点 通过控制反转和依赖注入实现松耦合。 支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 通过切面和模板减少样板式代码。 声明式事务的支持…

Related posts:

  1. 精通服务器托管的三大技巧
  2. 全球服务器托管数据中心排名榜单
  3. 三天吃透计算机网络面试八股文
  4. 探究VPS价格高于托管服务器的原因
  5. 广州服务器租用服务全面覆盖

服务器托管,北京服务器托管,服务器租用,机房机柜带宽租用

服务器托管

咨询:董先生

电话13051898268 QQ/微信93663045!

上一篇: VictoriaMetrics源码:索引文件结构
下一篇: 记录部署Datax、Datax-web 过程碰到的问题

最新更新

  • 深度学习进阶篇-国内预训练模型[5]:ERINE、ERNIE 3.0、ERNIE-的设计思路、模型结构、应用场景等详解
  • 10个图像处理的Python库
  • 两个例子带你入门 Disruptor
  • ​​pd.Timedelta​
  • 欧奈尔行业排名天天更新

随机推荐

  • 高配大带宽服务器有哪些好处
  • 数据中心10G SFP+解决方案对比
  • 深入探究服务器外包托管服务
  • 基于 DolphinDB 机器学习的出租车行程时间
  • 高效稳定的哈尔滨Win10电脑服务器托管服务

客服咨询

  • 董先生
  • 微信/QQ:93663045
  • 电话:13051898268
  • 邮箱:dongli@hhisp.com
  • 地址:北京市石景山区重聚园甲18号2层

友情链接

  • 服务器托管
  • 机房租用托管
  • 服务器租用托管
©2023 服务器托管,北京服务器托管,服务器租用-价格及机房咨询 京ICP备13047091号-8