// 直接上代码
function lterator () {
let arr = [0, 1]
let index = 0
return {
next () {
if (arr[index] === undefined) {
arr.push(arr[index-1] + arr[index-2])
}
let value = arr[index]
index++
return value
}
}
}
let lt = lterator()
lt.next() // 0
lt.next() // 1
lt.next() // 1
lt.next() // 2
lt.next() // 3
lt.next() // 5
lt.next() // 8
lt.next() // 13
lt.next() // 21
lt.next() // 34
...
迭代器:
迭代器是惰性的,不像普通for循环,迭代器可以一直next()下去,开发者不用关心迭代器代码块中的内容,只需关心拿到返回的结果
斐波那契:
斐波那契数列,又称黄金分割数列。数列特点是前两项等于之和等于后一项