ES6学习(九)—Generator 函数的语法

简介: ES6学习(九)—Generator 函数的语法

ES6学习(九)—Generator 函数的语法

  • Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。
  • Generator函数是一个状态机,内部封装了不同状态的数据用来生成遍历器对象,可暂停函数(惰性请求),yield可暂停,next方法可以启动,每次返回的是yield后的表达式结果

Generator函数的特点:

  • function函数与函数名之间有一个星号
  • 内部用yield表达式来定义不同的状态

  • generator函数返回的是指针对象 而不会执行函数内部逻辑
  • 调用next方法函数逻辑开始执行,而到yield表达式停止返回 {value:yield后的表达式结果为undefined,done:false/true} 再次调用next方法从上一次停止时的yield处开始,直到最
  • yield语句的返回结果通常是undefined ,当调用next方法时传参内容会作为启动时yield语句的返回值


相关文章
|
8月前
ES6之生成器
ES6之生成器
|
8月前
|
前端开发
ES6之生成器(Generator)
生成器(Generator)是ES6引入的一种特殊的函数,它可以通过yield关键字来暂停函数的执行,并返回一个包含value和done属性的对象。生成器的概念、作用和原理如下所述:
77 0
|
8月前
ES6 Generator 函数
ES6 Generator 函数
|
3月前
|
自然语言处理 前端开发
如何理解 ES6 中 Generator ?
【10月更文挑战第7天】
|
8月前
|
JavaScript
js开发:请解释什么是ES6的默认参数(default parameters),并给出一个示例。
ES6允许在函数参数中设置默认值,如`function greet(name = 'World') {...}`。当调用函数不传入`name`参数时,它将默认为'World',提升代码简洁性和可读性。例如:`greet()`输出"Hello, World!",`greet('Alice')`输出"Hello, Alice!"。
44 4
|
8月前
|
JavaScript 前端开发
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停/恢复功能的特殊函数,利用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。例如,一个简单的Generator函数可以这样表示: ```javascript function* generator() { yield 'Hello'; yield 'World'; } ``` 创建实例后,通过`.next()`逐次输出"Hello"和"World",展示其暂停和恢复的特性。
50 0
|
前端开发
es6 语法简单使用2
es6 语法简单使用
65 0
|
前端开发
【ES6新特性】— Generator
【ES6新特性】— Generator
97 0
ES6 从入门到精通 # 15:生成器 Generator 的用法
ES6 从入门到精通 # 15:生成器 Generator 的用法
110 0
ES6 从入门到精通 # 15:生成器 Generator 的用法