为了账号安全,请及时绑定邮箱和手机立即绑定

第二个收益在JavaScript生成器函数中不起作用

第二个收益在JavaScript生成器函数中不起作用

料青山看我应如是 2022-08-18 15:32:49
我正在学习javascript,如果在函数中发现新概念作为生成器函数作为ES6中的新功能var num=5;function * x(){    yield num++;   yield num*=num; };x().next();{value: 5, done: false}x().next();它应该返回{值:36,完成:假},但返回{value: 6, done: false} // It Should Return {value: 36, done: false}
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

每次调用都会创建一个新的生成器,该生成器将从头开始,因此x()


var num=5;

function * x()

   yield num++;

   yield num*=num; 

};


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

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

与做基本相同


var num = 5;

console.log(num++);

console.log(num++);

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


var gen = x();

console.log(gen.next());

console.log(gen.next());


查看完整回答
反对 回复 2022-08-18
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号