1.定义:generator是一个生成器,用来返回迭代器的,和普通函数不同的是不会一次全部执行完,迭代器中有一个next方法,每次调用next就向下执行一步。
2.原理:可以把一个函数分割成若干个小函数,内部维护一个指针,每次根据条件判断移动指针,知道执行结束
3.实现
function gen (arr){
let index = 0;
next () {
return {value: arr[index], done: index++ === arr.length ? true : false}
}
}
网友评论