ECMAScript 6 第四讲
本章目标:
本章内容:
generator 和 yield的使用:
Generator主要是用于异步编程,就是封装一个异步任务或者是异步任务的容器
特点是:可以交出函数执行权(暂停执行)
在声明函数的function关键字与函数名之间有一个*(用于区别不同函数)
yield在generator函数体内使用,可以定义不同的内部状态(可以设置不同时候不一样的值)
yield命令是异步不同阶段的分界线,有时候也会把yield当成是return(当然有本质区别)
使用启动next(),分阶段执行generator函数

generator 这时候我们可以多调用几次来看一下效果

我们看到这时候才都运行完,那么我们可以感觉到是不是把一个函数分成了几段分别执行了呢?我们可以函数传参来看一下

我们可以看到效果,发现第一个无效,第二个才看是接受到返回值

我们还可以接收他的返回值

我们可以看到结果

我们看到返回的是对象,里面有两个值,第一个是返回的参数,第二个是bool类型的,为false表示当前的函数没有执行完,为true表示函数执行完了

Map数据结构:
Map数据结构类似于对象,是键值对的集合。传统的键只能用字符串,map的键不限于字符串,各种类型的值包括对象都可以当键
属性和操作方法:
Size属性:返回map结构的成员总数
Set(key,value)
Set设置键名key,键值value,然后返回整个map结构。如果key已经有值,则键值会被更新,否则就新生成该键

map

模块module:
Export命令:用于规定模块的对外接口
我们可以理解成一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。
如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字
模块化是怎么用的?我们可以来看一下
新建一个js文件

我们才创建一个js文件,用来导入

创建html使用模块化

那么我们也可以简化导入

模块化的优点:
减少命名冲突
避免引入是层层依赖
可以提升执行效率

generator 和 yield的使用相关推荐

  1. koa源码分析-generator和yield分析

    Generator和yield 分析 项目中使用了koa,最近在学习koa的源码,先把这些东西都写下来,免得以后忘记了. koa源码学习前先注意下面这三个概念 generator function ( ...

  2. ES6——generator与yield

    文章目录 一.Generator生成器函数 1. 特点 2. 关联概念 二.yield的加入 1. 引入 2. yield 特点 三.举个例子 一.Generator生成器函数 它是ES6新推出的一种 ...

  3. python generator iterator_Python:Iterator、Generator和Yield总结

    一.Iterator和Iterable 首先,要明白Iterable可迭代对象 和Iterator 迭代器的区别. 类中实现了__iter__(),那就认为它有迭代能力,其对象即可迭代对象,具有迭代能 ...

  4. python生成器yield原理_Python generator生成器和yield表达式详解

    前言 Python生成器(generator)并不是一个晦涩难懂的概念.相比于MetaClass和Closure等概念,其较为容易理解和掌握.但相对于程序结构:顺序.循环和分支而言其又不是特别的直观. ...

  5. python生成器单线程_【Python】迭代器、生成器、yield单线程异步并发实现详解

    转自http://blog.itpub.net/29018063/viewspace-2079767 大家在学习python开发时可能经常对迭代器.生成器.yield关键字用法有所疑惑,在这篇文章将从 ...

  6. 实际上,Python 3.3中新的“ yield from”语法的主要用途是什么?

    本文翻译自:In practice, what are the main uses for the new "yield from" syntax in Python 3.3? I ...

  7. Generator简单了解

    Generator是一个生成器,它生成的到底是什么呢? Ta生成的就是一个 Iterator对象 . function *gen() {yield 1;yield 2;return 3; }const ...

  8. Generator执行步骤浅析

    在Generator函数出现之前JS的函数只能返回一个值,返回的方式就是return,但是Generator函数可以返回多个值,返回的方式是yield.并且Generator赋予了外部动态影响函数内部 ...

  9. Python中生成器generator和迭代器Iterator的使用方法

    一.生成器 1. 生成器的定义 把所需要值得计算方法储存起来,不会先直接生成数值,而是等到什么时候使用什么时候生成,每次生成一个,减少计算机占用内存空间 2. 生成器的创建方式 第一种只要把一个列表生 ...

最新文章

  1. javascript里的偏函数——本质函数式编程+闭包,返回函数
  2. 【机器学习算法-python实现】矩阵去噪以及归一化
  3. 修改归档模式的存档终点 archive log list
  4. 【中级软考】什么是McCabe测量法(McCabe复杂性度量、环路度量。计算有向弧数、结点数、强连通分量个数)
  5. IDEA2020版本如何导入jar包
  6. 训练的神经网络不工作?一文带你跨过这37个坑
  7. 开源WPF控件库MaterialDesignInXAML推荐
  8. 二叉树的递归遍历与复制
  9. Apple Watch用户终于能对部分预装应用说不了 包括闹钟、定时器等
  10. AcWing 898. 数字三角形
  11. 傻瓜攻略(十九)——MATLAB实现SVM多分类
  12. CHM Editor V1.3.3.7(chm编辑、修改chm文件、chm编辑器)
  13. Android使用zxing生成二维码
  14. 不登陆路由器查询路由器IP地址和物理地址
  15. Simon写作翻转课笔记
  16. java面试宝典:留着慢慢看
  17. 双译记:UCLA朱松纯团队验证机器人任务中可解释性,登Science子刊
  18. 网站HTPPS加密有什么作用
  19. codec engine 编译
  20. ArcGis制作三维地形图教程

热门文章

  1. 尾递归及快排尾递归优化
  2. 小白也能学会的 Git 常用指令指南
  3. DevC++怎么更改背景颜色
  4. 【言简意赅】四句话搞懂第一范式,第二范式,第三范式,以及BCNF
  5. 僵尸进程孤儿进程与守护进程
  6. linux自动化安装oracle,ftp的客户端软件 Linux环境一键自动化安装oracle软件的构想(附she...
  7. oracle12c完全卸载工具_oracle完全卸载方法
  8. python横向合并merge_【Python代替Excel】7:merge、concat、append
  9. python2.7安装scrapy_python 2.7 的Scrapy安装介绍
  10. php.ini不见了,php.ini找不到