一、递归函数概念:自己调用自己。
二、知识说明
function func(){
func();
}
func();
三、函数+变量
//用递归来求5的阶乘
function func(n){
if(n == 1){
return 1;
}
return n * func(n-1);
}
console.log(func(5));
三、函数+函数
//斐波拉契题(兔子生兔子题目)--从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少
// 产量分析:1, 1, 2, 3, 5, 8, 13, 21 。。。
// 第n个月的兔子总数 = 第n-1个月的兔子总数 + 第n-2个月的兔子总数
// 问题: 求任意月兔子的总数
function func(n){
if(n == 0 || n == 1){
return 1;
}
return func(n - 1) + func(n - 2);
};
console.log(func(22));
四、示例
//公园里有一堆桃子,猴子每天吃掉一半,挑出一个坏的扔掉,第6天的时候发现还剩1个桃子,问原来有多少个桃子.
var a;
function num(n){
if(n == 6){
a = 1;
}else{
a = (num(n + 1) + 1) * 2;
}
return a;
}
console.log(num(0));
总结:函数的递归就是在函数中调用自身。