Movatterモバイル変換


[0]ホーム

URL:


  1. 面向开发者的 Web 技术
  2. JavaScript
  3. JavaScript 参考
  4. JavaScript 标准内置对象
  5. GeneratorFunction

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in EnglishAlways switch to English

GeneratorFunction

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2016年9月⁩.

GeneratorFunction 对象为生成器函数提供了方法。在 JavaScript 中,每个生成器函数实际上都是一个GeneratorFunction 对象。

请注意,GeneratorFunction不是全局对象。可以通过以下代码来获取它:

js
const GeneratorFunction = function* () {}.constructor;

GeneratorFunctionFunction 的子类。

尝试一下

const GeneratorFunction = function* () {}.constructor;const foo = new GeneratorFunction(`  yield 'a';  yield 'b';  yield 'c';`);let str = "";for (const val of foo()) {  str = str + val;}console.log(str);// Expected output: "abc"

构造函数

GeneratorFunction()

创建一个新的GeneratorFunction 对象。

实例属性

也从其父类Function 继承实例属性

这些属性定义于GeneratorFunction.prototype 并由所有GeneratorFunction 实例所共享。

GeneratorFunction.prototype.constructor

创建实例对象的构造函数。对于GeneratorFunction 实例,其初始值是GeneratorFunction 构造函数。

GeneratorFunction.prototype.prototype

所有生成器函数共享同一个prototype 属性,即Generator.prototype。每个生成器函数实例也有自己的prototype 属性。当生成器函数被调用时,返回的生成器对象从生成器函数继承prototype 属性,而该属性又继承自GeneratorFunction.prototype.prototype

GeneratorFunction.prototype[Symbol.toStringTag]

[Symbol.toStringTag] 属性的初始值是字符串"GeneratorFunction"。该属性被Object.prototype.toString() 使用。

实例方法

从其父类Function 继承实例方法

规范

Specification
ECMAScript® 2026 Language Specification
# sec-generatorfunction-objects

浏览器兼容性

参见

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp