【问题标题】:Javascript generators with the 'yield' keyword带有“yield”关键字的 Javascript 生成器
【发布时间】:2011-11-02 23:09:45
【问题描述】:

我正在试验 HTML5 的新 canvas 标签,我在其中渲染和动画一些简单的形状。我的画布脚本有以下功能:

function initializeSquarePositions(rows, columns) {
    for (var x = 0; x < canvas.width; x += canvas.width / columns)
        for (var y = 0; y < canvas.height; y += canvas.height / rows)
            yield {x: x, y: y};
}

由于某种原因,这段代码在 Firefox 中执行得非常好,但在 Chrome 中根本无法运行。两个浏览器都是最新版本,我的脚本标签标记为 version=1.8(version=1.7 也不起作用)。

'yield' 关键字在 Chrome 中是否不起作用?我当然希望如此;生成器使代码更简洁!

我找不到该问题的任何具体是或否答案。

【问题讨论】:

    标签: javascript google-chrome firefox canvas yield-keyword


    【解决方案1】:

    迭代器和生成器(目前)是 Mozilla 扩展,这意味着您只能在 Mozilla 实现(JavaScript (TM))上使用它们。

    我说“暂时”是因为这些功能可能会在 ECMAScript 标准的下一版本 ECMAScript Harmony 中引入。

    【讨论】:

    • 这个答案现在已经过时了,因为 yield 刚刚添加到 Google Chrome 中。
    【解决方案2】:

    'yield' 关键字在 Chrome 中是否不起作用?

    就是这样。对不起。 yieldlet 尚未在 Chrome(或 Opera、Safari 或 IE)中。

    【讨论】:

    • 真的吗? Chrome 在这方面确实落后了...自 Firefox 2(我相信是 2008 年 8 月)起,Mozilla 就支持生成器和迭代器!
    • 此答案现已过时,因为 yield 刚刚添加到 Google Chrome。
    • 在哪里?在金丝雀?它肯定不在 Stable 中,也不在 Dev 中。
    猜你喜欢
    • 1970-01-01
    • 2021-09-05
    • 2017-08-29
    • 2020-07-05
    • 2021-10-26
    • 2011-01-17
    • 2017-07-07
    • 1970-01-01
    • 2017-07-07
    相关资源
    最近更新 更多