JavaScript--Generator函数

简介

Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同

Generator 函数有多种理解角度。从语法上,首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态。

执行 Generator 函数会返回一个遍历器对象,也就是说,Generator 函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历 Generator 函数内部的每一个状态。

特点

形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield语句,定义不同的内部状态

//例
function* helloWorldGenerator() {
  yield 'hello';
  yield 'world';
  return 'ending';
}

var hw = helloWorldGenerator();

yield语句

由于Generator函数返回的遍历器对象,只有调用next方法才会遍历下一个内部状态,所以其实提供了一种可以暂停执行的函数。yield语句就是暂停标志。

遍历器对象的next方法的运行逻辑如下。

(1)遇到yield语句,就暂停执行后面的操作,并将紧跟在yield后面的那个表达式的值,作为返回的对象的value属性值。

(2)下一次调用next方法时,再继续往下执行,直到遇到下一个yield语句。

(3)如果没有再遇到新的yield语句,就一直运行到函数结束,直到return语句为止,并将return语句后面的表达式的值,作为返回的对象的value属性值。

(4)如果该函数没有return语句,则返回的对象的value属性值为undefined。

《HTT电脑秘书软件》是一个小巧实用的工具,通过它可以方便地打开您常用的程序、文档资料、以及网站链接等。《HTT电脑秘书软件》 的最大好处,莫过于它的易用性。当然,它还有许多特点: 1、极其简单的打开/隐藏方式:鼠标移向屏幕右下角,《HTT电脑秘书软件》 主窗口马上打开;鼠标移向屏幕右边界下方,主窗口立即消失,移到右边界上方,主窗口立即显示。也可以通过单击右下角的本系统图标进行打开和隐藏。 2、允许对程序项进行分门别类,用户可建立任意树形目录结构,并提供两种目录显示方式。 3、可以对《HTT电脑秘书软件》中的任何程序文档等项目定义系统级热键,无论《HTT电脑秘书软件》是否在前台,均可捕获热键。 4、有自启动功能,每次进入Windows后,《HTT电脑秘书软件》 以小图标方式显示在任务条上的通知区中。 5、支持OLE拖放功能,您可将任意文件或IE/Netscape中的超链接拖入《HTT电脑秘书软件》中。 6、提供多种小巧实用的工具,如日程记事、HTT文档编辑器,HTT图片编辑器、Office文档编辑器等,并允许以插件方式加以扩充。 7、可以通过拖放方式,将你的系统中的所有文件添加到【文档库】节点(该节点对应本系统所在路径下的文件夹),将你系统的所有文件进行集中管理。 《HTT电脑秘书软件》 的插件编程接口: 如果你需要给本系统编写插件,请与我们公司联系。 E-mail: htt@huitetong.com WWW: http://www.huitetong.com Tel: 010-82896850 13801355031 作者:赵宝泽
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值