JavaScript 中的生成器函数是什么?以及它是如何运作的?

来源:undefined 2025-01-20 00:37:56 1028

javascript 中的生成器函数是一种特殊类型的函数,可以在执行过程中暂停和恢复。它使用 function* 语法定义,并使用yield 关键字顺序生成值。

生成器函数的主要特征

函数* 定义:

1

2

3

4

5

6

function* generatorfunction(){

yield 1;

yield 2;

yield 3;

yield 4;

}

登录后复制

2.返回一个迭代器

当调用生成器函数时,它不会立即执行。 相反,它返回一个迭代器对象。 迭代器有一个 next() 方法,用于控制 执行。 产量关键字: yield 关键字用于生成一个值并暂停生成器。 当再次调用 next() 时,生成器从 暂停的地方。

生成器函数示例:

1

2

3

4

5

6

7

8

9

10

11

12

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());

登录后复制

输出

1

2

3

4

5

6

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 属性变为 是的。

以上就是JavaScript 中的生成器函数是什么?以及它是如何运作的?的详细内容,更多请关注php中文网其它相关文章!

最新文章