function* foo(x) { yield x + 1; yield x + 2; return x + 3; } for (var x of foo(100)) { console.log(x); // 理论应该依次输出101, 102, 103 // 实际输出101, 102 疑惑 }
for...of...循环只输出yield;也就是done是false的语句;return done就是true了,所以不输出这个。
Sign in to make a reply
_Again_