js递归函数——函数体内挪用本函数的方式

访客3年前黑客资讯1133

在js中通过若是一个函数直接或间接挪用函数自己,则该函数称为递归函数。递归是一种头脑:类似于我们的计数器,开闭原则。  递归的实质就是函数自己挪用自己。  递归注重点:递归必须有跳出条件,否则是死循环。

我们接纳内联函数来做说明,内联函数是指虽然在函数外没有声明变量f,但是在函数内部,是可以使用f()来挪用自己的。

兔子序列(斐波那契数列 )
var f=function(n) {
    if(n<2){
        return n;
    }else{
      return f(n-1)+f(n-2);//挪用自身函数实现递归
     }
}

console.log(f(5))值为5

阶乘递归函数  
var f=function(n){ 
    if (n<=1){ /*跳出条件*/
       return 1; 
    }else{ 
         return n*f(n-1);
    } 
}

 console.log(f(5)) 值为5*4*3*2*1=120

求n^m次方  
var f=function(a,b){
   if(b==0){
      return 1;
   }
   return f(a,b-1)*a;
}

console.log(f(2,5))值为32

求等差数列前几项的和 
var f=function(n) {
    if (n == 1){
       return 1;
    }
    return f(n - 1) + (2 * n - 1)
}

console.log(f(5))值为25

在操作递归时,递归会把自己参数中的值举行通报,直到我们通报的值到达我们设置的跳出条件时才会住手通报,尔后面的公式指的是与我们需要获得的值举行的相对应操作,当我们写在函数中的值就相当于每一个通报的实参。

通过上面的方式实现效率异常低, 缘故原由就在于, 需要频频挪用函数自生, 且每次挪用都有许多重复盘算, 很明显, n越大, 挪用次数越多.若是举行界限项庞大的函数,内存会大量虚耗。

相关文章

立冬文案 | 朔风始起,万物境藏

立冬文案 | 朔风始起,万物境藏

立冬快来了,冬天也快到了,在这个秋与冬寒暄的骨气里,借势文案该怎么写呢?本文笔者整理了一些品牌借势文案、行业借势文案以及伴侣圈文案给各人分享一下,但愿对各人有辅佐哟~ 秋已尽,冬将至。一眨眼,一年又...

FF赶走出纳事件怎么回事(劲爆!FF赶走出纳激怒恒

针对恒大提出的全面反诉,FF承认,根据此前双方签署的相关投资协议,恒大向FF派驻的出纳员拥有访问FF全部财务记录的权限,同时对每一项财务支出进行详细审核和批准。但“由于恒大拒绝履约,导致上述协议事实上...

怎么劝赌博的人回来

http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/05/windows6.1-kb4499175-x86...

老婆出轨怎么查她的微信记录,老婆有外遇怎么查她微信!

老婆出轨怎么查她的微信记录,老婆有外遇怎么查她微信!【黑客徽信:】专业盗取微信密码,开房查询,通话记录查询,查询微信聊天记录,非常靠谱!众所周知,微信是目前中国最大的社交软件,其用户数已超过12亿,与...

怎么才能看到我媳妇和别人的开房记录

今年的双11预售期,再次成为了各大品牌抢占的焦点。其中,林清轩9月上市的山茶花润肤油3.0成为了消费者争抢的明星产品。在10月21日预售开启后的短短2分钟里,创下了50000瓶的销售新高。 其实...

神仙道邀请码(神仙道邀请伙伴)

亲爱的玩家:您好,这需要您邀请在2月22日以前达到60级,2月22日~3月7日间未登陆过游戏的玩家到3月9日之后开启的服务器创建角色,就可以领取一系列。 下载文件:这个不用下.doc|朋友,你好。共享...