es6 generator知識點

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章