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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值