我正在学习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());
添加回答
举报
0/150
提交
取消
