Discuss
/
JavaScript
/
廖老师举的斐波那契数列的例子的输出好像是不对的!
廖老师举的斐波那契数列的例子的输出好像是不对的!
Topic source同发现输出不对。
根据函数定义,n = 1; 并且while中是n<max.
因此当fib(5)时: while (n < 5).
n=1, yield 0; return {value: 0, done: false} n=2, yield 1; return {value: 1, done: false} n=3, yield 1; return {value: 1, done: false} n=4, yield 2; return {value: 2, done: false} n=5, no yield; return {value: undefined, done: true}
对比可以知道,通过for..of语句后,虽然不需要自己判断返回对象的done属性,但当这个属性为true时,反而最后一项没有输出了。
查了一下官网上对for..of以及generator,虽然举了fib的例子,但是没有结对应的结果 。
还是自己写循环判断done的值吧。
- 1
王奋浩2015
我的Google Chrome浏览器版本 41.0.2272.76,得出的输出没有最后一个3,应该就是评论里x1ang_li给出的原因。是吧,廖老师?