函数(表达式与递归调用)

一、函数表达式:

    将定义的函数赋给一个变量,通过变量完成函数的调用和参数传递(即函数是匿名的)

1、定义

       var / let / const 变量名 = function(【参数】){

                  函数体语句

       }

 2、调用

           变量名(【参数】)

3、代码示例

let min = function(val1,val2){
            if(val1 < val2){
                return val1
            }else{
                return val2
            }
        }
        
let  t = min(12,25)
console.log('最小数:',t)

二、函数的递归调用

     1、递归调用:

         函数自己调用自己(即在函数的函数体语句中调用自己)

     2、递归算法:

      (1)用递归方式解决问题的前提

              a、问题可以进行分解,分解得到的新问题的解法与原问题的解法相同

                        eg: 8! --> 8* 7! --->7 6!-->.......2!-->2 * 1!

              b、问题的分解过程必须有明确的结束条件

     (2)递归的过程

              a、自上而下分解问题:得到最简单的问题的解

              b、自下而上回溯得到原问题的解

      (3)代码实现:

 //用递归函数计算 n!
        function fun(n){
            //1.明确递归结束的条件
            if(n==1){
                return 1
            }else{
                //2.继续分解n
                return n * fun(n-1) //函数自己调用自己:在调用过程分解问题
            }
        }

        let m = fun(5)
        console.log('5!=',m)

  示例:定义递归函数,计算1+2+3+...100的值

//定义递归函数,计算1+2+3+...+100
        function fun(n){
            //1.明确递归结束的条件
            if(n==1){
                return 1
            }else{
                //2.继续分解n
                return n + fun(n-1) //函数自己调用自己:在调用过程分解问题
            }
        }
       let sum = fun(100)
       console.log(sum)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值