JavaScript--Generator函数
来源:互联网 发布:多选题的数据统计 编辑:程序博客网 时间:2024/06/11 04:16
简介
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。
阅读全文
0 0
- JavaScript--Generator函数
- es6 javascript 的Generator 函数 (上)
- es6 javascript 的Generator 函数 (下)
- Javascript中的Generator函数和yield关键字
- javascript 判断一个函数是否是generator
- Javascript异步编程(二: Generator函数)
- generator函数
- Generator函数
- generator函数
- generator函数
- Generator 函数
- Generator函数
- Generator函数
- javascript生成器函数function generator初探和理解
- javascript---生成器(generator)
- ES6 Generator函数
- es6的Generator函数
- ECMAScript6笔记:Generator 函数
- Ext JS 6学习文档-第3章-基础组件
- [Vue.js启航]——Vue-Router的使用
- Lucene索引概述
- Http Request 和 Response
- 搜索二维矩阵II
- JavaScript--Generator函数
- 在线难例挖掘 论文
- class 同时继承两个类
- CSDN开篇之作
- 【Linux】I/O多路转接epoll
- Hadoop入门案例(四)全排序之自定义分区 字符串(单词)排序
- D_D系统构建-简述及环境准备
- 华为OJ——去重并排序
- 二级联动