GeneratorFunction() 构造函数
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
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)
备注:无论是否使用 new
调用 GeneratorFunction()
,都可以创建一个新的 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
规范
Specification |
---|
ECMAScript Language Specification # sec-generatorfunction-constructor |
浏览器兼容性
BCD tables only load in the browser