简单来说,在函数内部调用自己,这个函数就是递归函数。
1、求阶乘
求n的阶乘就是把1到n的所有整数相乘
即 n! = 1 * 2 * 3* … * (n-1) * n = (n-1)! * n
6! = 1 * 2 * 3 * 4 * 5 * 6 = 5! * 6 = 720
var result = 0;
function fn(n) {
if (n == 1) {
result = 1;
} else {
result = fn(n-1) * n;
}
return result;
}
console.log('6!=' + fn(6))
2、斐波那契数列
斐波那契数列的第一个数是0,第二个数是1
第n个等于第n-1个数加上第n-2个数
function fb(n) {
if(n==1 || n==2) {
return 1;
} else {
return fb(n-1) + fb(n-2); //第n个就等于第n-1个数加上第n-2个数
}
}
console.log('第六个数是' + fb(6))