Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

Obsolete since Gecko 58 (Firefox 58 / Thunderbird 58 / SeaMonkey 2.55)
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

The legacy generator function expression was a SpiderMonkey-specific feature, which is removed in Firefox 58+. For future-facing usages, consider using the function* expression.

The function keyword can be used to define a legacy generator function inside an expression. To make the function a legacy generator, the function body should contain at least one yield expression.

Syntax

function [name]([param1[, param2[, ..., paramN]]]) {
   statements
}

Parameters

name
The function name. Can be omitted, in which case the function is anonymous. The name is only local to the function body.
paramN
The name of an argument to be passed to the function. A function can have up to 255 arguments.
statements
The statements which comprise the body of the function. This should contain at least one yield expression.

Description

An overview of the usage is available on the Iterators and Generators page.

Browser compatibility

Supported nowhere.

See also