Map
generator
迭代器子眶,利用yield關(guān)鍵字可實(shí)現(xiàn)多次返回
// max 指菲波那切數(shù)列的長(zhǎng)度
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;
}
// 執(zhí)行輸出
var f = fib(5) // 函數(shù)返回generator對(duì)象飒箭,操作后只能這樣去實(shí)現(xiàn)臀突, 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返回