当前位置: 首页 > news >正文

ES6初步了解生成器

生成器函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同
语法: function * fun(){ }

    function * gen(){console.log("hello generator");}let iterator =gen()console.log(iterator)

打印:
在这里插入图片描述
我们发现没有打印”hello generator“
我们需要使用到next方法
如果大家对迭代器感兴趣大家可以阅读这篇ES6初步了解迭代器

    function * gen(){console.log("hello generator");}let iterator =gen()iterator.next()

在这里插入图片描述
我们可以使用yield,可以看作是函数代码的分隔符

    function * gen(){console.log(111)yield "hello"console.log(222)yield "generator"console.log(333)yield "!"console.log(444)}let iterator =gen()iterator.next() //111iterator.next() //222iterator.next() //333iterator.next() //444

我们也可以使用for…of来遍历

    function* gen() {yield "hello"yield "generator"yield "!"}for (let v of gen()) {console.log(v)}

在这里插入图片描述

生成器函数的参数传递

    function* gen(arg) {console.log(arg)yield 111yield 222yield 333}// 执行获取迭代器对象let iterator = gen("aaa")console.log(iterator.next()) 

在这里插入图片描述

next方法可以传入实参

    function* gen(arg) {console.log(arg) //AAAlet one = yield 111console.log(one) //BBBlet two = yield 222console.log(two) //CCClet three = yield 333console.log(three) //DDD}// 执行获取迭代器对象let iterator = gen("AAA")console.log(iterator.next())// 第二次调next方法传入这个实参作为第一个yield语句的返回结果console.log(iterator.next("BBB"))// 第三次调next方法传入这个实参作为第二个yield语句的返回结果console.log(iterator.next("CCC"))// 第四次调next方法传入这个实参作为第三个yield语句的返回结果console.log(iterator.next("DDD")) // 以此类推

在这里插入图片描述
感谢大家的阅读,如有不对的地方,可以向我指出,感谢大家!

相关文章:

ES6初步了解生成器

生成器函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同 语法: function * fun(){ } function * gen(){console.log("hello generator");}let iterator gen()console.log(iterator)打印: 我们发现没有打印”hello…...

飞桨大模型套件:一站式体验,性能极致,生态兼容

在Wave Summit 2023深度学习开发者大会上,来自百度的资深研发工程师贺思俊和王冠中带来的分享主题是:飞桨大模型套件,一站式体验,性能极致,生态兼容。 大语言模型套件PaddleNLP 众所周知PaddleNLP并不是一个全新的模型…...

【C++入门到精通】哈希 (STL) _ unordered_map _ unordered_set [ C++入门 ]

阅读导航 前言一、unordered系列容器二、unordered_map1. unordered_map简介⭕函数特点 2. unordered_map接口- 构造函数- unordered_map的容量- unordered_map的迭代器- unordered_map的元素访问- unordered_map的修改操作- unordered_map的桶操作 三、unordered_set1. unorde…...

创建 Edge 浏览器扩展教程(上)

创建 Edge 浏览器扩展教程(上) 介绍开始之前后续步骤开始之前1:创建清单 .json 文件2 :添加图标3:打开默认弹出对话框 介绍 在如今日益数字化的时代,浏览器插件在提升用户体验、增加功能以及改善工作流程方…...

container_of解析及应用

container_of是一个C语言中比较少见,但实际经常用到的宏,在Linux kernel中也有大范围的应用。...

搜维尔科技:Varjo-最自然和最直观的互动

创建真实生活虚拟设计 Varjo让你沉浸在最自然的混合和虚拟现实环境中。 世界各地的设计团队可以聚集在一个摄影现实的虚拟空间中,以真实的准确性展示新的概念-实时的讨论和迭代。这是一个充满无限创造潜力的新时代,加速了人类前所未有的想象力。 虚拟现实、自动反应和XR设计的…...

Postman环境配置

Postman环境配置 安装Postman安装node.js安装newman安装htmlextra安装git注册163邮箱用163邮箱注册gitee在pycharm中安装gitee详细文档 安装Postman 网址:https://www.postman.com/downloads/ 注册一个账号即可 安装node.js 安装newman npm install -g newman …...

Windows下Eclipse C/C++开发环境配置教程

1.下载安装Eclipse 官网下载eclipse-installer(eclipse下载器),或者官方下载对应版本zip。 本文示例: Eclipse IDE for C/C Developers Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse ID…...

深入 Maven:构建杰出的软件项目的完美工具

掌握 Meven:构建更强大、更智能的应用程序的秘诀 Maven1.1 初识Maven1.1.1 什么是Maven1.1.2 Maven的作用 02. Maven概述2.1 Maven介绍2.2 Maven模型2.3 Maven仓库2.4 Maven安装2.4.1 下载2.4.2 安装步骤 03. IDEA集成Maven3.1 配置Maven环境3.1.1 当前工程设置3.1.…...

一文了解企业云盘和大文件传输哪个更适合企业传输

文件传输是企业工作中必不可少的环节,无论是内部协作还是外部沟通,都需要高效、安全、稳定地传输各种类型和大小的文件。然而,市面上的文件传输工具众多,如何选择合适的工具呢?本文将从两种常见的文件传输工具——企业…...

在 history 模式下,为什么刷新页面会出现404?

1、原因 因为浏览器在刷新页面时,它会向服务器发送 GET 请求,但此时服务器并没有配置相应的资源来匹配这个请求,因此返回 404 错误。 2、解决方案 为了解决这个问题,我们需要在服务器端进行相关配置,让所有的路由都指…...

第二证券:“华为概念股”,怒刷13连板

大盘颤动时,“妖股”出生日。 到10月24日收盘,圣龙股份连续第13个生意日以涨停报收,区间涨幅抵达245.62%,总市值89亿元;公司13个生意日成交额抵达90亿元,总换手率达159%。 此外,圣龙股份还在暴…...

黑豹程序员-架构师学习路线图-百科:API接口测试工具Postman

文章目录 1、为什么要使用Postman?2、什么是Postman? 1、为什么要使用Postman? 目前我们开发项目大都是前后端分离项目,前端采用h5cssjsvue基于nodejs,后端采用java、SpringBoot、SSM,大型项目采用SpringC…...

开源博客项目Blog .NET Core源码学习(5:mapster使用浅析)

开源博客项目Blog使用mapster框架映射对象,主要是在数据库表对象及前端数据对象之间进行映射,本文学习并记录项目中mapster的使用方式。   App.Hosting项目的program文件中调用builder.Services.AddMapper函数进行对象模型自动映射,而该函数…...

Appium移动端自动测试框架,如何入门?

Appium是一个开源跨平台移动应用自动化测试框架。 既然只是想学习下Appium如何入门,那么我们就直奔主题。文章结构如下: 1、为什么要使用Appium? 2、如何搭建Appium工具环境?(超详细) 3、通过demo演示Appium的使用 4、Appium如何…...

外汇天眼:喜大普奔!困扰投资者的交易问题解决了!

在外汇交易中,即使摒弃了“三无”的黑平台,使用的是正规安全的外汇交易平台,但是面对一些突发状况,依然会出现出金堵塞被拖延、入金不到账等交易突发情况,因为许多外汇平台处于国外,沟通困难、网络繁忙、平…...

UUID转16字节数组(Java)

最近在写协议的时候,遇到需要将一个36字符长度的UUID转为长度为16的字节数组; 这样处理的话那我们就需要保证唯一性和可还原; 于是我使用了下面的方式: /*** uuid转16字节数组** param uuidStr* return*/private static byte[] …...

使用vue3 搭建一个H5手机端访问的项目

首先说明,我本地之前运行过vue的项目,所以具有一些基础的运行环境,这里直接按步骤讲我项目框架搭建的过程。 这个不建议使用驼峰,按规范单词中间加横杠就可以。一般会出现选择项,按方向键选择,我这边选择了…...

【网络安全 --- 任意文件下载漏洞(1)】任意文件下载漏洞

一,环境,工具准备 1-1 VMVare 16 虚拟机及下载安装(资源) 请参考以下博客安装(特详细):【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客【网络安…...

驱动开发day4(实现通过字符设备驱动的分布实现编写LED驱动,实现设备文件的绑定)

头文件(head.h) #ifndef __HEAD_H__ #define __HEAD_H__ #define PHY_LED1_MODER 0x50006000 #define PHY_LED2_MODER 0x50007000 #define PHY_LED3_MODER 0x50006000 #define PHY_LED1_ODR 0x50006014 #define PHY_LED2_ODR 0x50007014 #define PHY_LE…...

2026 年软硬两用床垫,为何能做到不塌陷?

引言随着科技的不断进步和消费者需求的多样化,床垫市场也在不断创新。特别是软硬两用床垫,因其能够满足不同人群的需求而备受青睐。然而,如何确保床垫在长时间使用后不塌陷,仍然是一个技术难题。本文将探讨2026年软硬两用床垫如何…...

通过curl命令快速测试Taotoken提供的各类大模型效果

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过curl命令快速测试Taotoken提供的各类大模型效果 对于开发者,尤其是运维和测试人员来说,在集成或评估一…...

InfluxDB-从时序数据模型到实战:核心原理与Web UI高效入门

1. 时序数据库与InfluxDB初探 第一次接触时序数据库时,我盯着监控大屏上跳动的曲线发愣——这些每秒产生数万条记录的传感器数据,传统数据库根本扛不住。直到同事推荐了InfluxDB,这个专门为时间序列数据设计的数据库,才真正解决了…...

别再硬刚滑块了!一个Python脚本自动搞定淘宝X5SEC验证码

Python自动化破解淘宝X5SEC滑块验证码实战指南 淘宝作为国内最大的电商平台之一,其反爬机制一直处于行业领先水平。其中X5SEC滑块验证码是淘宝用来识别自动化程序的主要手段之一。对于需要批量采集商品数据或进行价格监控的开发者来说,频繁的手动滑块验证…...

终极网盘直链下载解决方案:LinkSwift完全指南,告别限速烦恼

终极网盘直链下载解决方案:LinkSwift完全指南,告别限速烦恼 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国…...

状态机——枚举实现简单状态机

枚举实现简单状态机1、业务场景:订单状态流转2、代码实现3、上下文对象(Context)4、测试运行5、总结在 Java 中,使用枚举(Enum)来实现状态机(State Machine)是一种非常优雅且高效的做…...

PIC16F驱动WS2812:8位MCU实现无限随机动态灯光算法

1. 项目概述与核心思路 几年前,我在捣鼓一个节日南瓜灯项目时,遇到了一个经典难题:手头只有一片资源极其有限的PIC16F1847微控制器,却想驱动一串WS2812(也就是大家常说的NeoPixel)LED,做出那种看…...

生成式AI项目实战:从PyTorch到Hugging Face的完整开发指南

1. 项目概述:从GitHub仓库名到生成式AI项目的实战蓝图看到HeyNina101/generative_ai_project这个仓库名,很多开发者会心一笑。这太典型了——一个以个人ID命名的GitHub仓库,里面很可能是一个关于生成式人工智能(Generative AI&…...

告别RaiDrive广告!用rclone+Alist免费打造Windows云盘本地文件夹(含开机自启脚本)

开源云盘本地化方案:Alist与rclone的无缝整合指南 在数字资产管理日益重要的今天,云存储已成为个人和企业不可或缺的工具。然而,商业软件的广告推送、订阅费用和功能限制常常让用户感到困扰。本文将介绍一套完全开源、零成本的解决方案&#…...

深圳清关代理口碑爆棚,不找它你就亏大啦!

事件经过某外贸公司近期有一批从国外进口的电子产品要在深圳口岸清关。该公司原本以为按照常规流程操作即可顺利完成清关,便自行准备了相关单证资料。然而,当货物到达深圳口岸进行报关时,却遭遇了清关受阻的情况。海关在合规审核过程中发现&a…...