解释 JavaScript 中的生成器函数?

javascriptobject oriented programmingfront end technology

生成器

JavaScript 支持 生成器函数生成器对象生成器函数 与普通函数相同,但每当它需要生成值时,它都会使用 'yield' 关键字而不是 'return'。'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

相关文章