4

我正在试验 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 中是否不起作用?我当然希望如此;生成器使代码更清晰!

对于这个问题,我找不到任何具体的“是”或“否”答案。

4

2 回答 2

5

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

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

于 2011-08-24T16:06:10.440 回答
1

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

就是这样。对不起。yield并且let还没有在 Chrome(或 Opera、Safari 或 IE)中。

于 2011-08-24T16:06:03.790 回答