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