Generator

作者: 萧沪椿Helson | 来源:发表于2017-08-26 10:13 被阅读0次

    generator(生成器)是ES6标准引入的新的数据类型。一个generator看上去像一个函数,但可以返回多次。

    和 Python 中的生成器一样,所以算是一次复习。不过由于至今还没有运用过生成器,还不算真正掌握。

    用生成器写一个计数器

    function* create_counter(max) {
        var id = 0;
        while (id < max) yield id++;
    }
    
    a = create_counter(5) // create_counter {[[GeneratorStatus]]: "suspended"}
    a.next() // {value: 0, done: false}
    a.next() // {value: 1, done: false}
    a.next() // {value: 2, done: false}
    ...
    a.next() // {value: 4, done: true}
    

    我们也可以利用 for of 语句来循环调用这个函数

    for (var i of create_counter(5)) {
        console.log(i);
    }
    
    //0
    //1
    //2
    //3
    //4

    相关文章

      网友评论

          本文标题:Generator

          本文链接:https://www.haomeiwen.com/subject/ifsmdxtx.html