程序员元宵加班搞代码:生成器
常规函数只返回一个值(或不返回任何值)。
生成器可以按需一个接一个地返回(“yield”)多个值。它们与可迭代对象一起工作得很好,允许轻松地创建数据流。
生成器函数
为了创建一个生成器,我们需要一个特殊的语法结构:function*
,也就是所谓的“生成器函数”。
它是这样的:
-
function* generateSequence() {
-
yield
1;
-
yield
2;
-
return
3;
-
}
生成器函数的行为与常规函数不同。当这样的函数被调用时,它不会运行它的代码。相反,它返回一个特殊的对象,称为“生成器对象”,来管理执行。
来看看吧:
-
function* generateSequence() {
-
yield
1;
-
yield
2;
-
return
3;
-
}
-
-
// "generator function" creates "generator object"
-
let generator = generateSequence();
-
alert(generator);
// [object Generator]
函数代码还没有开始执行:
生成器的主要方法是next()
。当被调用时,它会
转载:https://blog.csdn.net/qq_36772866/article/details/114325149
查看评论