解释JavaScript中的Generator函数?

发电机

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