带有'yield'关键字的Javascript生成器

时间:2011-08-24 16:01:44

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

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

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中根本不起作用。这两个浏览器都是最新版本,我的脚本标记标记为版本= 1.8(版本= 1.7也不起作用)。

'yield'关键字在Chrome中无效吗?我当然希望它能做到;发电机使代码更清晰!

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

  

'yield'关键字在Chrome中无效吗?

就是这样。抱歉。 yieldlet尚未在Chrome(或Opera,Safari或IE)中使用。