The legacy generator function expression is a SpiderMonkey-specific feature, and will be removed at some point. For future-facing usages, consider using {{jsxref("Operators/function*", "function* expression")}}.
{{jsSidebar("Operators")}}
Summary
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 contains at least one {{jsxref("Operators/yield", "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 contian at least one {{jsxref("Operators/yield", "yield")}} expression.
Description
An overview of the usage is available on the Iterators and Generators page.
Browser compatibility
{{ CompatibilityTable() }}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{ CompatNo() }} | {{ CompatVersionUnknown() }} | {{ CompatNo() }} | {{ CompatNo() }} | {{ CompatNo() }} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{ CompatNo() }} | {{ CompatNo() }} | {{ CompatVersionUnknown() }} | {{ CompatNo() }} | {{ CompatNo() }} | {{ CompatNo() }} |
See also
- {{jsxref("Generator")}}
- The legacy generator function
- The legacy Iterator protocol
- Functions and function scope
- {{jsxref("Statements/function", "function")}}
- {{jsxref("Operators/function", "function expression")}}
- {{jsxref("Function")}}
- {{jsxref("Statements/function*", "function*")}}
- {{jsxref("Operators/function*", "function* expression")}}
- {{jsxref("GeneratorFunction")}}
- The Iterator protocol