GeneratorFunction() 构造函数
**GeneratorFunction()
** 构造函数创建 GeneratorFunction
对象。
请注意,GeneratorFunction
不是 全局对象。它可以通过以下代码获取:
js
const GeneratorFunction = function* () {}.constructor;
GeneratorFunction()
构造函数不打算直接使用,在 Function()
描述中提到的所有注意事项都适用于 GeneratorFunction()
。
语法
js
new GeneratorFunction(functionBody)
new GeneratorFunction(arg1, functionBody)
new GeneratorFunction(arg1, arg2, functionBody)
new GeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)
GeneratorFunction(functionBody)
GeneratorFunction(arg1, functionBody)
GeneratorFunction(arg1, arg2, functionBody)
GeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)
注意: GeneratorFunction()
可以带或不带 new
调用。两者都会创建一个新的 GeneratorFunction
实例。
参数
请参阅 Function()
。
示例
创建和使用 GeneratorFunction() 构造函数
js
const GeneratorFunction = function* () {}.constructor;
const g = new GeneratorFunction("a", "yield a * 2");
const iterator = g(10);
console.log(iterator.next().value); // 20
规范
规范 |
---|
ECMAScript 语言规范 # sec-generatorfunction-constructor |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。