function* y(p1){
let r=p1;
r=(yield r-5) //表达式A,在第1轮是普通return,在第2轮next(param)时会被param替换
r=(yield r*2) //表达式B,在第2轮是普通return,在第3轮next(param)时会被param替换
r=(yield r-20) //表达式C,看作是一个普通return } var instance=y(10)
var result;
result=instance.next() //第1轮运行, 运行到表达式A处,此时可将表达式A的yield看作是return运行并返回
console.log(result); //{value:5,done:false} result=instance.next(result.value)//第2轮运行, 将5这个值替换掉表达式A,并继续往下运行到表达式B处,此时可将表达式B的yield看作是return运行并返回
console.log(result); //{value:10,done:false} result=instance.next(50) //第3轮运行, 将50这个值替换掉表达式B,并继续往下运行到表达式C处,此时可将表达式C的yield看作是return运行并返回
console.log(result); //{value:30,done:false} console.log(instance.next()) //{value:undefined,done:true} //结束

yield基础知识的更多相关文章

  1. C# 基础知识总结

    要学好C#,基础知识的重要性不言而喻,现将常用到的一些基础进行总结,总结如下: 1. 数据类型转换: 强制类型转换(Chart--> int):  char cr='A';   int i = ...

  2. JAVA多线程基础知识(一)

    一. 基础知识 要了解多线程首先要知道一些必要的概念,如进程,线程等等.开发多线程的程序有利于充分的利用系统资源(CPU资源),使你的程序执行的更快,响应更及时. 1. 进程,一般是指程序或者任务的执 ...

  3. Java 多线程——基础知识

    java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...

  4. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  5. Java 基础知识总结

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.数据类型:  数据类型:1>.基本数据类型:1).数值型: 1}.整型类型(byte  8位   (by ...

  6. Java基础知识回顾之七 ----- 总结篇

    前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...

  7. Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  8. 毕向东—Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  9. Java笔记(十四) 并发基础知识

    并发基础知识 一.线程的基本概念 线程表示一条单独的执行流,它有自己的程序计数器,有自己的栈. 1.创建线程 1)继承Thread Java中java.lang.Thread这个类表示线程,一个类可以 ...

  10. python基础----基础知识介绍

    一  编程语言的划分       编译型:将代码一次性全部编译成二进制,然后运行. 缺点:开发效率低,不能跨平台(windows与linux) 优点:执行效率高 代表语言:c语言 解释型:当程序开始运 ...

随机推荐

  1. (0709) Linux-命令(scp,tar) zip

    (1) scp .bashrc root@192.168.1.6:vnc://cfy-hp-notebook-pc.local (2) tar -czvf a.tar.gz b            ...

  2. Python SQLite创建数据库和数据表及数据的增删改查

    SQLite是一款轻型的SQL类型数据库,处理速度快且占用资源非常低,Python自带, 不需要配置不需要任何外部的依赖.数据库本身就是一个.db文件,非常适合存储本地数据.本文主要介绍Python ...

  3. vue初始化data数据

    初始化data this.$data = this.$options.data() 初始化data中form this.$data.form = this.$options.data().form

  4. window JAVA 环境变量配置

    java win环境变量配置1.安装的时候拷贝出,安装目录C:\Program Files\Java\jdk1.8.0_40\2.在系统变量中,点击"新建",弹出窗口后在变量名输入 ...

  5. js array map

      var user = ['Alice', 'Emily', 'Kate'];       console.log(user);      var keys = user.keys(); for ( ...

  6. yolov5s yolov8n 在自己数据集上测试比较(640*640)

    yolov5s -> 0.5map:  96.5 -> ncnn:75ms yolov8n -> 0.5map:  94.1 -> ncnn:52ms

  7. RTC@@@Real-Time Clock(实时时钟的简称)及电路问题分析

    RTC@@@Real-Time Clock(实时时钟的简称) 实时时钟(Real-Time Clock)是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,提供稳定的时钟信号给后续电路用.主要功能有 ...

  8. python checklist

    1. 常用模块:subprocess, requests, paramekio, traceback, argparse, numpy, pandas 2. 赋值传递和引用传递 python是赋值传递 ...

  9. 选择/插入/冒泡/快速排序之R语言实现

    题目来自于<R语言的科学编程与仿真>第9章第7题. 选择排序法.这是一种最简单,但是效率最低的排序算法.算法步骤如下: 对于给定的一个向量x,令最初的未排序向量u等于x,并且最初的已排序向 ...

  10. Android Custom View使用Databinding

    Android Custom View是可以使用 databinding 的 //java.lang.IllegalArgumentException: View is not a binding l ...