ES6引入的新的数据类型

Map

generator

迭代器,利用yield关键字可实现多次返回

// max 指菲波那切数列的长度
function* fib(max) {
  var t,
      a  = 0,
      b  = 1,
      n  = 1;
  while (n < max) {
    yield a;
    t  = a + b;
    a = b;
    b = t;
    n++
  }
  return a;
}
// 执行输出
var f = fib(5)  // 函数返回generator对象,操作后只能这样去实现, fib(5).next()方法不起效?why?
f.next() // Object {value: 0, done: false}
f.next() // {value: 1, done: false}
f.next() // {value: 1, done: false}
f.next() // {value: 2, done: false}
f.next() // {value: 3, done: true}

// done: false , 为yield返回; done: true , return返回

阮一峰Generator

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

推荐阅读更多精彩内容

友情链接更多精彩内容