javascript - JavaScript 中的 yield 关键字是什么?

标签 javascript yield keyword

我听说过 JavaScript 中有一个“yield”关键字,但我发现关于它的文档很差。有人可以解释一下(或推荐一个解释)它的用法和用途的网站吗?

最佳答案

迟到的回答,现在可能每个人都知道yield了,但是已经出现了一些更好的文档。

改编自 "Javascript's Future: Generators" 的示例James Long 为官方 Harmony 标准:

function * foo(x) {
    while (true) {
        x = x * 2;
        yield x;
    }
}

"When you call foo, you get back a Generator object which has a next method."

var g = foo(2);
g.next(); // -> 4
g.next(); // -> 8
g.next(); // -> 16

所以 yield 有点像 return:你会得到一些返回。 return x 返回 x 的值,但 yield x 返回一个函数,它为您提供了一种迭代下一个值的方法。如果您有 potentially memory intensive procedure,则很有用您可能希望在迭代期间中断。

关于javascript - JavaScript 中的 yield 关键字是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2282140/

相关文章:

javascript - 如何知道浏览器选项卡是否已使用 Javascript 打开?

python - yield as assignment 有什么作用? myVar = (产量)

javascript - Fancytree:添加分页

javascript - 如何让图像在 Angular 中显示

lua - 如何在 C 函数中生成 lua 脚本

javascript - 如何在异步生成器函数中引发错误

ios - 在 Swift 中将文本与关键字匹配

c - 宏参数的名称可以是关键字吗?

c# - 使用 Scintilla 添加关键字

javascript - Node Js 路由不起作用