generator 和 yield的使用

举报
tea_year 发表于 2021/12/22 23:16:01 2021/12/22
【摘要】 ECMAScript 6 第四讲 本章目标: 本章内容: generator 和 yield的使用: Generator主要是用于异步编程,就是封装一个异步任务或者是异步任务的容器 特点是:可以交出函数执...

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

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

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

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

我们可以看到结果

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

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

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

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

创建html使用模块化

那么我们也可以简化导入

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

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/114604918

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。