//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