首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第二产量在JavaScript生成器函数中不起作用

第二产量在JavaScript生成器函数中不起作用
EN

Stack Overflow用户
提问于 2020-05-15 17:16:02
回答 1查看 265关注 0票数 0

我正在学习javascript,如果发现函数中有新的概念作为生成器函数在ES6中作为新特性

代码语言:javascript
复制
var num=5;
function * x()
{ 
   yield num++;
   yield num*=num; 
};

x().next();

代码语言:javascript
复制
{value: 5, done: false}

x().next();

它应该返回{value: 36,done: false}但返回

代码语言:javascript
复制
{value: 6, done: false} // It Should Return {value: 36, done: false}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-15 17:29:26

每次对x()的调用都会创建一个新的生成器,它将在开始时启动,因此对于

代码语言:javascript
复制
var num=5;
function * x()
{ 
   yield num++;
   yield num*=num; 
};

console.log(x().next());
console.log(x().next());

本质上与做

代码语言:javascript
复制
var num = 5;
console.log(num++);
console.log(num++);

要得到36,您需要创建一个生成器,然后调用它的next()

代码语言:javascript
复制
var gen = x();
console.log(gen.next());
console.log(gen.next());
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61824851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档