JavaScript函数之递归函数

递归函数是编程中一种强大的工具,它通过在函数内部调用自身来解决问题。本文详细介绍了递归函数的工作原理,并提供了两个实例:计算前100项的和以及实现阶乘计算。在使用递归函数时,关键在于确保每次调用都向目标更进一步,并设置明确的退出条件以避免无限循环。递归函数的理解和应用对于提升编程能力至关重要。
摘要由CSDN通过智能技术生成

什么是递归函数

递归函数是在一个函数内通过名字调用自身的情况

递归函数使用的两个条件

  • 在每一次调用自己时,必须是(在某种意义上)更接近于解。函数每一次调用自己时,就越接近于我们期望它完成的任务的终点。
  • 必须有一个终止处理或计算的出口。必须要有一个标准的标志,让函数结束调用函数自身。

实例演示

例一:前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);  
    }  
};  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值