斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家列昂纳多·斐波那契(Leonardoda Fibonacci[1] )以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
用js写出来的算法:
function Fibonacci(num){ if(num === 0){ return 0; } else if(num === 1){ return 1; }else{ return arguments.callee(num - 2)+arguments.callee(num - 1); } } for(var i=0;i<10;i++){ console.log(Fibonacci(i)); }
运行结果:
小知识拓展:
arguments.callee 在哪一个函数中运行,它就代表哪个函数;
一般用在匿名函数中;
在匿名函数中有时会需要自己调用自己,但是由于是匿名函数,没有名子,无名可调,这时就可以用arguments.callee来代替匿名的函数。