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');
相关推荐
止观止3 天前
不止解构:深入掌握 ES6+ 对象与函数的高级语法糖
前端·javascript·es6
Aotman_6 天前
Vue.directive:自定义指令及传参
前端·javascript·vue.js·elementui·ecmascript·es6
Aotman_6 天前
JavaScript MutationObserver用法( 监听DOM变化 )
开发语言·前端·javascript·vue.js·前端框架·es6
Violet_YSWY9 天前
ES6 () => ({}) 语法解释
前端·ecmascript·es6
匠心网络科技11 天前
JavaScript进阶-深入解析ES6的Set与Map
前端·javascript·学习·ecmascript·es6
刘一说11 天前
ES6+核心特性全面浅析
java·前端·es6
两个西柚呀14 天前
es6和commonjs模块化规范的深入理解
前端·javascript·es6
小小鸟00815 天前
JS(ES6+)基础
javascript·es6
代码or搬砖18 天前
ES6新增的新特性以及用法
前端·javascript·es6