15.生成器 细讲

/**
 *  generator生成器 
 *  可以返回多次的函数
 */


//  function* numbers(){
//   yield;
//  }

//  const gen = numbers();

//  console.log(gen.next());
//  console.log(gen.next());

// 迭代器还原生成器的结构
// function nameIterator(names){
//   let nextIndex = 0;
//   return {
//     next:function(){
//       return nextIndex < names.length ? 
//              {value: names[nextIndex++],done:false} :
//              {value: undefined,done:true}
//     }
//   }
// }

// const nameArray = ["Henry","Bucky","Emily"];

// const names = nameIterator(nameArray);

// console.log(names.next().value);
// console.log(names.next());
// console.log(names.next());
// console.log(names.next());

// function* sayNames(){
//   yield 'Henry';
//   yield 'Bucky';
//   yield 'Emily';
// }

// const name = sayNames();

// console.log(name.next());
// console.log(name.next());
// console.log(name.next());
// console.log(name.next());


// id自增 (es 生成器)

function* createIds(){
  let index = 1;

  while(true){
    yield index++;
  }
}

const gen = createIds();

// console.log(gen.next().value);
// console.log(gen.next().value);

for(var i = 0; i < 10; i++){
console.log(gen.next().value);  
}













 



 



 
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容