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

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