什么是递归函数
递归函数是在一个函数内通过名字调用自身的情况
递归函数使用的两个条件
- 在每一次调用自己时,必须是(在某种意义上)更接近于解。函数每一次调用自己时,就越接近于我们期望它完成的任务的终点。
- 必须有一个终止处理或计算的出口。必须要有一个标准的标志,让函数结束调用函数自身。
实例演示
例一:前100项的和
现在我们想求前100项的和,看一下普通写法:
let sum = 0
for(let i=1;i<=100;i++){
sum+=i;
}
//输出5050
console.log(sum)
现在我们将它改变成递归函数的写法:
function sum(n){
if(n==1){
return 1;
}
return sum(n-1)+n
}
//输出5050
let r = sum(100)
console.log(r)
例二:简单的阶乘
// 一个简单的阶乘函数
var f = function (x) {
if (x === 1) {
return 1;
} else {
return x * f(x - 1);
}
};