前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >generator 和 yield的使用

generator 和 yield的使用

作者头像
用户9184480
发布2024-12-13 11:12:31
发布2024-12-13 11:12:31
470
举报
文章被收录于专栏:云计算linux云计算linux

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使用模块化

那么我们也可以简化导入

模块化的优点:

减少命名冲突

避免引入是层层依赖

可以提升执行效率

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档