Генераторы Javascript с ключевым словом yield - PullRequest
4 голосов
/ 24 августа 2011

Я экспериментирую с новым HTML-тегом 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 он вообще не работает. Оба браузера являются последней версией, и у меня есть тег script, помеченный как версия = 1.8 (версия = 1.7 также не работала).

В Chrome не работает ключевое слово yield? Я очень надеюсь, что это так; генераторы делают для более чистого кода!

Я не смог найти конкретного ответа «да» или «нет» на этот вопрос.

Ответы [ 2 ]

5 голосов
/ 24 августа 2011

Итераторы и генераторы (на данный момент) являются расширениями Mozilla, это означает, что вы сможете использовать их только в реализациях Mozilla (JavaScript (TM)).

Я сказал «пока», потому что тефункции, вероятно, будут представлены в следующей версии стандарта ECMAScript, ECMAScript Harmony .

1 голос
/ 24 августа 2011

Ключевое слово yield в Chrome не работает или что-то еще?

Вот и все.Сожалею.yield и let еще не в Chrome (или Opera, или Safari, или IE).

...