函数、参数、返回值、递归

函数

函数表达式就是忽略名字:

1⃣️ 函数声明: function onName () {};

2⃣️ 命名函数表达式: var test = function abc () {};

3⃣️ 匿名函数表达式: var demo = function () {};

因为匿名函数表达式比较常用,所以说函数表达式一般是指匿名函数表达式;

参数

形式参数:没有实际传值;

实际参数:实际传的值;

不定参数数量:行参可以多个,实参就一个,反之亦然;

函数传参就相当于在函数里面声明几个变量;

函数有一个隐式的方法“arguments"系统自创的,有数组有长度就可以循遍历;

注:如果实参和行参数量不相同是不会有映射的;(行参和实参不对应上就不会有映射)

如果行参多余的参数赋值就只能当变量用,和实参不产生映射(只有实参和行参相等才会产生映射)

返回值

return:终止函数;

return本意就是降至返回到函数外;

递归

递归的优点:好找规律,找出口;

如果递归不找规律就是无限死循环,找出口找已知条件;

实例:

阶乘:0的阶乘为1

递归的典型案例:阶乘、斐波那契数列;

1、用递归求斐波那契数列

    找出口

n == 1 || n == 2

找规律

fb(n) == fb( n-1 ) + fb( n - 2 )

function fb( n ) {

      if( n == 1 || n == 2 ){

           return 1;

    }

       return fb( n-1 ) + fb( n-2 );

}

fb(5) == fb(4)+fb(3);

fb(4) == fb(3)+fb(2);

fb(3) == fb(2)+fb(1);

2、用递归求n的阶乘

找规律  n! = n*(n-1)!

function mul(10) {

    if ( n==1 || n==0) {

     return 1; 

}

return 10 * mul(10-1)!

}

阶乘导图:

return 5 * fn(5-1)

return (5-1) * fn(5-2)

return (5-2) * fn(5-3)

return (5-3) * fn(5-4)

 return 1

先执行的最后被执行完

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值