.旧式生成器函数是一个SpiderMonkey专有特性，将在未来移除。从未来考虑，建议使用`function* 表达式`

`function` 关键字可以用于在表达式中定义旧式的生成器函数。为使定义的函数为一个旧式的生成器函数，该函数的函数体中需要至少包含一个 `yield` 表达式。

## 语法

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

### 参数

`name`
  函数名。 该参数可以被省略, 这种情况下将创建一个匿名函数 (anonymous). 此名字仅可在函数体内部引用。
`paramN`
  将被传入此函数的一个参数。一个函数可以最多拥有255个参数。
`statements`
  构成函数体的表达式。在表达式中需要至少包含一个 `yield` 表达式。

## 描述

关于此语法的用法说明，参见 迭代器 (Iterators) 与生成器 (Generators) 页面。

## 浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

- Desktop
- Mobile

特性 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari
--- | --- | --- | --- | --- | ---
基本支持 | 未实现 | (Yes) | 未实现 | 未实现 | 未实现

特性 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile
--- | --- | --- | --- | --- | --- | ---
基本支持 | 未实现 | 未实现 | (Yes) | 未实现 | 未实现 | 未实现

## 相关链接

- `生成器 (Generator)`
- 旧式生成器函数
- 旧式迭代器协议
- `yield`
- 函数与函数作用域
- `function`
- `function 表达式`
- `函数`
- `function*`
- `function* 表达式`
- `生成器 (Generator) 函数`
- 迭代器 (Iterator) 协议