function* sumq(){ var sum=0; for(var i=0;i<10;i+2){//此处i不会加上去 yield sum+=i; } return sum;}var s=sumq();for (var i = 0; i <= 5; i++) { console.log(s.next());}
说说理由
i+2只是个计算表达式,并没有赋值给i,计算完后并没有改变i的值,所以不会加上去i=i+2才会将计算后的值赋值给i