我正在学习javascript,如果发现函数中有新的概念作为生成器函数在ES6中作为新特性
var num=5;
function * x()
{
yield num++;
yield num*=num;
};x().next();
{value: 5, done: false}x().next();
它应该返回{value: 36,done: false}但返回
{value: 6, done: false} // It Should Return {value: 36, done: false}发布于 2020-05-15 17:29:26
每次对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());https://stackoverflow.com/questions/61824851
复制相似问题