🐇斐波那契数列
✍递归函数
<script>
// 递归函数
var num = 1;
function fn() {
console.log('我要打印3句话');
if (num == 3) {
return; //递归里面必须加退出条件
}
num++;
fn();//在函数内部自己调用自己
}
fn();
</script>
注意:
递归函数的作用和循环效果一样,由于递归很容易发生“栈溢出”错误(stack overflow),所以必须要加退出条件return。
👌递归函数求斐波那契数列
<script>
// 题目:利用递归函数求斐波那契数列(兔子序列) 1、1、2、3、5、8、13、21...
// 用户输入一个数字 n 就可以求出 这个数字对应的兔子序列值
// 我们只需要知道用户输入的n 的前面两项(n-1 n-2)就可以计算出n 对应的序列值
function fb(n) {
if (n === 1 || n === 2) {
//当输出的n等于1或2 时,直接返回1,因为前两项的序列值为1
return 1;
}
return fb(n - 1) + fb(n - 2);
}
console.log(fb(3)); //输出结果:2
console.log(fb(6)); //输出结果:8
</script>