Fibonacci 数列是指:0、1、1、2、3、5、8、13、21、34……,即前两项为 0 和 1,后面的每一项都等于前面两项的和。本文将介绍如何使用 ECMAScript 2021 (ES12) 中的 Generator 函数实现 Fibonacci 数列。
什么是 Generator 函数?
Generator 函数是 ES6 引入的一种新的函数类型,其特点在于可以控制函数的执行顺序。它可以多次暂停执行,并在暂停的时间里,保留函数的上下文数据。当再次调用的时候,可以恢复执行,继续完整的函数体执行。
Generator 函数的声明形式为:
function* gen() { // 函数体 }
实现 Fibonacci 数列 Generator 函数
我们可以使用 Generator 函数实现 Fibonacci 数列,以下是示例代码:
-- -------------------- ---- ------- --------- ----------- - --- ------ ----- - --- --- ----- ------ - ------ ----- - ------ ---- - ------ ----- ----- - - ----- --- - ------------ --- ---- - - -- - - --- ---- - ------------------------------ -
在这里,我们定义了一个名为 fibonacci
的 Generator 函数,该函数实现了 Fibonacci 数列的生成器。这个函数具有无限循环的能力,而每次循环都会输出下一个数值,直到程序被停止。
我们使用了 yield
关键字来暂停生成器的执行,并将值返回给调用方。下一次调用 next()
方法时,生成器会从上一次暂停的位置继续执行。
在 for
循环中,我们通过调用 next()
方法来获取下一个 Fibonacci 数列的值,直到输出前十项为止。
使用这种方式,在需要的时候,我们可以随时使用 next()
方法来获取 Fibonacci 数列中的下一个数值。
总结
本文介绍了如何使用 ECMAScript 2021 (ES12) 中的 Generator 函数实现 Fibonacci 数列。Generator 函数是一种非常强大的工具,可以帮助我们解决很多异步回调问题。现在,您已经可以将此方法应用于自己的项目中,并创建出无限的 Fibonacci 数列生成器。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e71dcff6b2d6eab327a7b8