什么是生成器函数
生成器函数是一种特殊的函数,它可以在执行过程中暂停并保存当前状态,然后在需要时恢复执行。生成器函数通过 yield
关键字来实现暂停和恢复执行的功能。
生成器函数的基本用法
- 定义生成器函数:使用
function*
关键字来定义生成器函数。 - 使用
yield
关键字:在生成器函数中使用yield
关键字来返回一个值,并暂停函数的执行。 - 创建迭代器对象:通过调用生成器函数来创建一个迭代器对象。
- 使用
next()
方法:使用迭代器对象的next()
方法来恢复生成器函数的执行,并获取下一个值。
生成器函数的实例
实例 1:基本的生成器函数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>生成器</title>
</head>
<body>
<script>
// 生成器函数
function* gen() {
yield '一只没有耳朵';
yield '一只没有尾巴';
yield '真奇怪';
}
// 创建迭代器对象
let iterator = gen();
// 使用 next() 方法获取值
console.log(iterator.next()); // { value: '一只没有耳朵', done: false }
console.log(iterator.next()); // { value: '一只没有尾巴', done: false }
console.log(iterator.next()); // { value: '真奇怪', done: false }
console.log(iterator.next()); // { value: und