为什么我不能让 JavaScript 产量工作

Why can't I get JavaScript yield to work?

本文关键字:工作 JavaScript 不能 为什么      更新时间:2023-09-26

我正在尝试从这里运行代码

MDN:生成器和迭代器

function fib() {
  var i = 0, j = 1;
  while (true) {
    yield i;
    var t = i;
    i = j;
    j += t;
  }
}
var g = fib();
for (var i = 0; i < 10; i++) {
  console.log(g.next());
}

我无法让它在 Node.js、Chrome 或 Firefox 中工作

这是一个 EcmaScript.next 功能,正在较新版本的 JavaScript 解释器中进行测试。

Mozilla的"迭代器和生成器"解释了如何使用它们。

要查看哪些浏览器支持哪些 ES.next 功能,请参阅 kangax 的兼容性图表和特定于浏览器的报告。 虽然Chrome作为一个整体还没有,但jmar777报告说V8支持它(截至2013年8月)。

如果这段代码在服务器端的 Node.js 应用程序中执行,那么您使用什么浏览器并不重要,因为这不是该代码块的执行环境 - 它在您的服务器上,据我所知,Node.js使用的是尚未支持 ES6 的 V8 JS 引擎版本。