JavaScript 中的生成器函数是什么?以及它是如何运作的?
来源:dev.to
2025-01-16 13:06:36
0浏览
收藏
一分耕耘,一分收获!既然打开了这篇文章《JavaScript 中的生成器函数是什么?以及它是如何运作的?》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!
javascript 中的生成器函数是一种特殊类型的函数,可以在执行过程中暂停和恢复。它使用 function* 语法定义,并使用yield 关键字顺序生成值。
生成器函数的主要特征
- 用 函数* 定义:
function* generatorfunction(){
yield 1;
yield 2;
yield 3;
yield 4;
}
2.返回一个迭代器
- 当调用生成器函数时,它不会立即执行。 相反,它返回一个迭代器对象。
- 迭代器有一个 next() 方法,用于控制
执行。
- 产量关键字:
- yield 关键字用于生成一个值并暂停生成器。
- 当再次调用 next() 时,生成器从 暂停的地方。
生成器函数示例:
function* generatorfunction(){
console.log("start");
yield 1;
console.log("resume");
yield 2;
console.log("end");
}
const gen = generatorfuntion();
console.log(gen.next());
console.log(gen.next());
console.log(gen.next());
输出
start
{value: 1, done: false}
Resume
{value: 2, done: false}
End
{Value: undefined, done: true}
它是如何运作的
- next() 上的执行:
- 当第一次调用next()时,生成器启动 执行并运行直到第一个yield。
- 它返回对象{value,done},其中:
- value:yield产生的价值。
- done:一个布尔值,指示生成器是否已完成
- 暂停和恢复。
- 函数遇到yield时暂停执行。
- 当再次调用 next() 时,它会从暂停处恢复。
- 完成:
- 当生成器函数完成时,done 属性变为 是的。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
与 Daytona 的约会:探索 AstroJS 和 Sanity CMS
- 上一篇
- 与 Daytona 的约会:探索 AstroJS 和 Sanity CMS
- 下一篇
- Linux高手必备工具:掌握 LSOF 命令实时监控端口
查看更多
最新文章
-
- 文章 · 前端 | 3小时前 |
- JavaScript日期格式化方法全解析
- 325浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- HTML5边框定位不占位技巧
- 405浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- CSSLint优化技巧与样式提升方法
- 413浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- CSSSticky定位技巧:滚动与固定结合应用
- 293浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- 统一图标风格,FontAwesome全站应用指南
- 356浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- JavaScript动态加载模块技巧解析
- 119浏览 收藏
-
- 文章 · 前端 | 4小时前 |
- LinuxHelix加速技巧与重构指南
- 182浏览 收藏
-
- 文章 · 前端 | 4小时前 | 顶层await
- 顶层await用法详解与实战技巧
- 288浏览 收藏
-
- 文章 · 前端 | 4小时前 |
- 表单数据保留与自动清理技巧
- 120浏览 收藏
-
- 文章 · 前端 | 4小时前 |
- EventLoop机制解析与执行顺序控制技巧
- 392浏览 收藏
-
- 文章 · 前端 | 4小时前 |
- Tailwind任意值类解决方法详解
- 321浏览 收藏
-
2. CSS 样式使用 ::after 伪元素来在图片上叠加文字:
.im">

