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');
相关推荐
蜗牛攻城狮6 小时前
ES6 Module 导入导出完全指南:语法、原理与最佳实践
前端·ecmascript·es6
aeoliancrazy2 天前
es6迭代器(Iterator的使用),遇到的问题理解,数组属性相关的一点小细节
前端·javascript·es6
还是大剑师兰特2 天前
ES6 class相关内容详解
es6·原型模式·大剑师
lcc1872 天前
ES6 Symbol
es6
m0_471199633 天前
【JavaScript】Set 和 Map 核心区别与实战用法(ES6 集合全解析)
前端·javascript·es6
BlackWolfSky3 天前
ES6 学习笔记3—7数值的扩展、8函数的扩展
前端·javascript·笔记·学习·es6
lcc1873 天前
ES6 箭头函数
es6
Dreamboat-L5 天前
ES6 (ECMAScript 2015+)
前端·ecmascript·es6
by__csdn6 天前
ES6新特性全攻略:JavaScript的现代革命
开发语言·前端·javascript·typescript·ecmascript·es6·js