使用生成器来实现斐波那契数列

2019-07-25  本文已影响0人  蜗牛Coming
function *feb(max){
var count = 0,current = 1,last = 0;
while(max>count++){
  yield current;
  var temp = current;
  current += last;
  last = temp;
}
}
var o = feb(10),res,result= [];
while(!(res = o.next()).done){
  result.push(res.value);
}
console.log(result);

生成器函数通常和 yield 关键字同时使用。函数执行到每个 yield 时都会中断并返回 yield 的右值(通过 next 方法返回对象中的 value 字段)。下次调用 next,函数会从 yield 的下一个语句继续执行。等到整个函数执行完,next 方法返回的 done 字段会变成 true。

摘抄:https://imququ.com/post/generator-function-in-es6.html

上一篇下一篇

猜你喜欢

热点阅读