ES6 生成器函数

一、生成器函数其实就是一个特殊的函数,实习异步编程

javascript 复制代码
function * gen() {
    console.log(111);
    yield '一只没有耳朵';
    console.log(222);
    yield '一只没有尾巴';
    console.log(3333);
    yield '真奇怪';
}

let iterator = gen();
iterator.next();  //执行的是函数开始 ------ yield '一只没有耳朵'中间的部分
iterator.next();  //执行的是yield '一只没有耳朵' ------  yield '一只没有尾巴'中间的部分

// 遍历
for (let v of gen()) {
    console.log(v);   // v是yield后面的部分
}

二、生成器函数的传参

javascript 复制代码
function * gen(arg) {
    console.log(arg);   // AAA
    let one = yield 111;
    console.log(one);   // BBB
    let two = yield 222;
    console.log(two);   // CCC
}

let iterator = gen('AAA');
iterator.next('BBB');
iterator.next('CCC');
相关推荐
董世昌412 天前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
徐小夕@趣谈前端3 天前
Web文档的“Office时刻“:jitword共建版2.0发布!让浏览器变成本地生产力
前端·数据结构·vue.js·算法·开源·编辑器·es6
小马_xiaoen3 天前
Proxy 与 Reflect 从入门到实战:ES6 元编程核心特性详解
前端·javascript·ecmascript·es6
前端 贾公子3 天前
Node.js 如何处理 ES6 模块
前端·node.js·es6
菜鸟茜3 天前
ES6核心知识解析01:什么是ES6以及为什么需要ES6
前端·javascript·es6
摇滚侠6 天前
2 小时快速入门 ES6 基础视频教程
前端·ecmascript·es6
Beginner x_u11 天前
ES6 中的 class 是什么?和ES5构造函数差别是什么?
javascript·es6·class
好学且牛逼的马13 天前
ES6 核心语法精讲
前端·ecmascript·es6
辰风沐阳13 天前
ES6 新特性: 解构赋值
前端·javascript·es6
得一录15 天前
ES6核心语法
前端·ecmascript·es6