新手小白入门必看教程,js中的迭代器和生成器到底是什么

news2024/10/5 14:23:12

内容预警,低级内容,菜鸟必看,大佬请绕道

在学习es6的新语法的时候,我相信不管你买什么书,里面一定有很长很长的章节在介绍【迭代器和生成器】,新手对于这两个名词真的非常陌生,即便看过所有的章节也云里雾里。所以忍不住大声问,迭代器和生成器到底是个啥?

简单来说(虽然这么说不准确,但是对于新手形成一个概念还是很有用的),

迭代器是一个方法,让变量可以循环遍历,这个变量就是可迭代对象

比如我们常用的用来遍历的方法 for....of,就是依赖于迭代器实现的,请参考我的这篇文章

javascipt中对象和数组的遍历,for in 和for of的区别是什么_我有一棵树的博客-CSDN博客_for in遍历数组拿不到javascipt中对象的遍历,for in 和for of的区别是什么https://blog.csdn.net/qq_17335549/article/details/128050897

迭代器很好理解,但是生成器就很晦涩难懂了,至少对于我来说是这样的

生成器是可以控制函数暂停、继续执行的函数,生成器是一种特殊的迭代器

  1. 生成器是函数
  2. 在函数名称前加一个 * ,就代表是生成器函数
  3. 使用 yield  暂停函数的执行
  4. 使用 next() 继续执行函数

所以生成器到底有啥用啊?

还是没懂,其实可以这么理解,迭代器和生成器是一个底层的原理问题,比如我们在使用for ...of 的时候,如果你就直接用当然也没有问题,但是你要知道for...of的原理是迭代器,一般来说我们菜鸟的开发过程根本不会让你去写一个迭代器和生成器。

所以这个是一个原理知识,而生成器可以用来产出迭代器,- async/await 就是生成器的使用例子

ES6 入门教程https://es6.ruanyifeng.com/#docs/async

 当然大佬肯定会自己写生成器函数实现一些高深的问题,但是这不是我们菜鸟需要知道的东西。

更多内容,请参考

es6 generator到底有什么用? - 知乎有没有个直观的解释https://www.zhihu.com/question/55810122

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Grafana监控大屏配置参数介绍(一)

Grafana 系列文章,版本:OOS v9.3.1 Grafana 的介绍和安装 在上篇文章中,我们已经安装了Grafana,并且看到了它的初步面貌。在这篇文章,我们以一个简单的大屏为例,来了解Grafana的大屏配置参数。 创建第一个…

TeXstudio配置

目录:TeXstudio配置一、前言二、下载和安装 TeXstudio三、下载和安装 TeXlive四、配置 TeXstudio五、测试一、前言 众所周知,TeX Live 自带的编辑器 TeXworks 是越更新 bug 越多,作为新手上路的工具刚刚好,但是对于有比较强的使用…

【圣诞节特辑】会呼吸的玫瑰爱心代码 -李峋爱心续 动画演示思路 代码开源 一起浪漫吧

源码下载地址:会呼吸、带有玫瑰花的爱心告白程序-Java文档类资源-CSDN下载 粉丝可直接私信我领取。 前言 之前有部电视剧《点燃我温暖你》没火,但是其中李峋的爱心代码却在程序圈超级火,这圣诞节快到了了,给大家来一波爱心代码…

非零基础自学Golang 第1章 走进Go 1.2 Go语言官方文档 1.3 学好Go 的建议

非零基础自学Golang 文章目录非零基础自学Golang第1章 走进Go1.2 Go语言官方文档1.3 学好Go 的建议1.3.1 了解语言特性及自身需求1.3.2 动手写代码1.3.3 参与项目1.3.4 阅读英文文档第1章 走进Go 1.2 Go语言官方文档 Go语言官方文档网址:https://go.dev/doc/。 官…

系统迁移的重点步骤及注意事项

在实际项目中会有迁移合并正在使用中的环境的需求,本文将以把B环境迁移合并到A环境为例,介绍如何迁移合并两个环境。 迁移前准备工作如下: 防止迁移过程中出现不可控的错误,迁移之前请备份目标环境default数据源库确保两个环境的…

GCSE英语语言考试-虚构小说考试问题和答案案例​

Analysing Fiction - Question and extract 虚构小说分析--问题和摘要 The extracts your exam questions are based on might be longer than the one here but you should still be able to write a close analysis. First of all, have a read, and see what ideas you can …

[附源码]Python计算机毕业设计大学生运动员健康管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

27-Vue之ECharts-通用配置

ECharts-通用配置前言标题提示框工具按钮图例完整代码前言 本篇来学习下ECharts图表中的通用配置 标题 title:标题 title: {text: "分数", // 标题文字textStyle: {color: red // 文字颜色},borderWidth: 2, // 标题边框宽度borderColor: blue, // 标…

[ Linux ] 可重入函数,volatile 关键字,SIGCHLD信号

目录 1.可重入函数 2.volatile 2.1从信号角度理解volatile的作用 2.2volatile的作用 3.SIGCHLD信号 3.1SIGCHLD信号的验证 1.可重入函数 在数据结构初阶时我们学习过链表,其中当然也学习过链表头插。在此我们复习一下链表头插,我们使用画图来演示…

Koa初体验

前面我们已经学习了express,另外一个非常流行的Node Web服务器框架就是Koa。 Koa官方的介绍: koa:next generation web framework for node.js; koa:node.js的下一代web框架; 事实上,koa是ex…

【云计算与大数据技术】Google、亚马逊、IBM、阿里云等云计算应用平台介绍讲解(超详细)

云应用跟云计算最大的不同在于,云计算作为一种宏观技术发展概念而存在,而云应用则是直接面对客户解决实际问题的产品。 “云应用”的工作原理是把传统软件“本地安装、本地运算”的使用方式变为”即取即用”的服务,通过互联网或局域网连接并操…

VUE学习(五)VUE项目发布启动

在项目目录下运行 npm run build 2.下载nginx nginx: download 双击nginx.exe运行 3.将打包好的vue项目下dist目录所有文件拷贝 4.粘贴至nginx目录html下 5.此时在浏览器中输入localhost 即可看到发布的网站了

【云计算与大数据技术】大数据概念和发展背景讲解(图文解释 超详细)

一、什么是大数据 大数据是一个不断发展的概念,可以指任何体量或负载下那个超出常规数据处理方法和处理能力的数据,数据本身可以是结构化,半结构化甚至是非结构化的,随着物联网技术与可穿戴设备的飞速发展,数据规模变…

首篇!BEV-Locator:多目端到端视觉语义定位网络(清华轻舟智航)

点击下方卡片,关注“自动驾驶之心”公众号ADAS巨卷干货,即可获取点击进入→自动驾驶之心【SLAM】技术交流群后台回复【BEV定位】获取本文论文!摘要准确的定位能力是自动驾驶的基础。传统的视觉定位框架通过几何模型来解决语义地图匹配问题&am…

【C语言经典面试题】这样的char * 定义怎么回事

作者简介 *架构师李肯(全网同名)**,一个专注于嵌入式IoT领域的架构师。有着近10年的嵌入式一线开发经验,深耕IoT领域多年,熟知IoT领域的业务发展,深度掌握IoT领域的相关技术栈,包括但不限于主流…

Cookie | Cookie的理论基础、Cookie中常用的方法

目录 一:Cookie的理论基础 二:Cookie中常用的方法 一:Cookie的理论基础 (1)cookie怎么生成? ①session的实现原理中,每一个session对象都会关联一个sessionid,例如:JS…

中创软件递交上会稿:年营收不到2亿 税收优惠占利润比高

雷递网 雷建平 12月10日山东中创软件商用中间件股份有限公司(简称:“中创软件”)日前递交上会稿,准备在科创板上市。中创软件计划募资6亿元,其中,2.3亿元用于应用基础设施及中间件研发项目,1.3亿…

开源一个各种USB电缆的测试仪,再也不用担心被只有充电功能的数据线坑了

作者:晓宇,排版:晓宇微信公众号:芯片之家(ID:chiphome-dy)01 想知道你的USB Type C数据线是USB2或者USB3吗?大家是否有一些仅有充电功能的USB数据线在你的抽屉里,等待某个…

量子计算(十三):量子计算的if和while

文章目录 量子计算的if和while 一、基于测量的跳转 二、基于量子信息的IF和WHILE 量子计算的if和while 所谓量子线路,从本质上是一个量子逻辑门的执行序列,它是从左至右依次执行的。即使介绍了函数调用的思想,也可以理解为这是一种简单地…

10-11-12 - 实模式到保护模式

---- 整理自狄泰软件唐佐林老师课程 文章目录1. 从计算机的历史谈起2. 绝对的权利带来的问题3. CPU历史的里程碑 - 80863.1 深入解析 [段地址 : 偏移地址]3.1.1 示例3.1.2 问题3.2 8086时期应用程序中的问题3.3 思考4. 80286的登场4.1 80286的兼容性4.2 初识保护模式4.2.1 描述…