//generator模拟next方法
function gener(arr){
var index=0;
return{
next:function(){
return index<arr.length?{value:arr[index++],done:false}:{value:undefined,done:true};
}
}
};
如下所示,迭代器调用,使用return时会返回传入的值并结束generator
for-of和generator连用时,遇到return结束
next的传参问题:
如下所示,next()传递的参数会当做上一个yield表达式的返回值,所以第一个next不用传参,第二次传5时,上一步的yield返回5,故val=5
yield后跟*可以在一个generator里执行另一个generator