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

访客4年前黑客资讯1152

在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越大, 挪用次数越多.若是举行界限项庞大的函数,内存会大量虚耗。

相关文章

网站安全防护,如何联系国内手机黑客,雇佣黑客找ip地址

图17 遥控操控数据解析代码片段13、现在GOOGLE搜索要害字 intitle:网站小帮手 inurl:asp只需一经接纳,邮箱地址就能够诈骗接纳者,让他们信任这个邮件来自于一个合法的Gmail安全...

有推广奖励的项目点评第三期!

在整理项目过程中,最大的感受是之前推的太多,导致精神涣散,许多项目后面没关注,泛起任何更改,也没及时发现。甚至有许多平台早倒闭了,却还躺在我手机占内存。稀里糊涂做义务,浑浑噩噩过生涯。 1.牛角...

深度思考:5亿理财入金增长项目实战复盘

深度思考:5亿理财入金增长项目实战复盘

编辑导读:关于裂变营销,市面上有许多玩法,可是万变不离其宗,把握一些焦点能力,就能无往不胜。本文作者复盘了一个营销裂变项目,从五个方面举办阐明,但愿对你有辅佐。 用时间测量岁月的脚步,陪伴着春夏秋冬...

中国黑客人

NO.1:黑客基地站长:孤独剑客,中国黑客界第二代黑客泰斗人物。他的名字已经在黑客界家喻户晓。他正演绎属于他自己的黑客生涯,同时他用自身的技术实力。 【Rocky】:请允许我把这个人的名字放在第一位,...

监控老婆的微信记录_手机丢了微信记录会被别人看到吗

在家自制烧仙草奶茶,消暑解渴,10块钱做3份,低糖更健康! 夏天,最喜欢的就是各种奶茶、饮品、冰激凌了,尤其是女生,只要一出门,什么不买都得先来一杯奶茶,冬天喝热的,夏天喝凉的,入口爽滑细腻,甜到心坎...

龙岗网络推广公司排行榜,龙岗做网上哪个公司好!

网络推广首先我们把他布局定位为两个部分:品牌入口和流量入口,其中我们拿深圳远大国际作为例子进行讲解。 一:品牌入口 现在各行各业的产品销售和服务公司鱼龙混杂,不管企业线上推广还是线下推广,大部分消费者...