JavaScript支持Generator函数和Generator对象。甲发电机功能是一样的正常功能,但每当它需要产生一个值,它使用的“产率”的关键字而不是“返回”。关键字' yield '暂停函数执行,并将值发送回调用方。它具有从中断处恢复功能的能力。
function* generator(){ yeild 1; yeild 2; }
在以下示例中,使用生成器函数,打印了自然数10,9和8。无需单独打印每个数字,我们可以运行for循环并打印所需的任何数字。
<html> <body> <script> function * number() { var num = 10; while (true) { yield num--; } } var gen = number(); document.write(gen.next().value); document.write("</br>"); document.write(gen.next().value); document.write("</br>"); document.write(gen.next().value); </script> </body> </html>
10 9 8