zoukankan      html  css  js  c++  java
  • ES6generator

    <!DOCTYPE html>
    <html>
    <head>
    <title>ES6 generator</title>
    <script type="text/javascript">


    //generator 解决异步嵌套问题
    //语法
    function * show(){
    yield 'hello';
    yield 'word';
    return '测试';
    }

    let res=show();
    // console.log(res);//这样输出的话,有些浏览器没有反应
    //谷歌的话会输出一个show对象 输入如下 主要的是scopes 可以同 next()迭代他
    // [[GeneratorStatus]]:"suspended"
    // [[GeneratorFunction]]:ƒ * show()
    // [[GeneratorReceiver]]:Window
    // [[GeneratorLocation]]:generator.html:8
    // [[Scopes]]:Scopes[3]
    //console.log(res.next());//输出结果{value: "hello", done: false} done:false说明还有后续元素

    //do...while
    let val;
    do{
    val=res.next()
    console.log(val)
    }while(!val.done)

    //while
    // let val=res.next();
    // console.log(val);
    // while(!val.done)
    // {
    // val=res.next();
    // console.log(val);
    // }

    //for of //迭代有迭代器的,比如说数组集合之类的,
    // for(let val of res)
    // {
    // console.log(val);
    // }

    //for in //根据 属性名(key)迭代
    // for(let val of res)
    // {
    // console.log(val);
    // }

    // Array、Object、Set、Map四种数据结构中for、for in和for of循环的区别?
    // 一、普通for循环在Array和Object中都可以使用。
    // 二、for in在Array和Object中都可以使用。// 注意:在对象中包含原型上的属性。
    // 三、for of在Array、Object、Set、Map中都可以使用。
    // 四、forEach循环在Array、Set、Map中都可以使用。

    //generator返回结果直接解构
    function * show1(){
    yield 'hello';
    yield 'word';
    return '测试';
    }

    </script>
    </head>
    <body>

    </body>
    </html>

  • 相关阅读:
    Django之学员管理二
    Django之学员管理一
    Django自定义分页
    算法
    Python运维工程师
    uboot分析:SD卡镜像制作脚本分析
    嵌入式开发环境搭建:NFS客户端与服务器搭建
    嵌入式开发环境搭建:开发板tftp下载环境搭建
    uboot分析:uboot启动内核
    uboot分析:uboot的启动过程分析
  • 原文地址:https://www.cnblogs.com/bigfire/p/9518241.html
Copyright © 2011-2022 走看看