js递归函数

前端这点事 194 0

递归是指函数自己调用自己。

注意:我们可以写出递归,但是我们并不知道她如何得出结果。

1.面试官如果问你递归的相关知识,面试官的水平还不错。

2.但是在工作中,一般情况下禁止使用递归。

方法:

1.首先去找临界值,既无需计算,获得的值。

2.找这一次和上一次的关系

3.假设当前的函数已经可以使用,调用自身计算上一次的运行结果,再写出这次的运行结果

特点:

1.必须有参数

2.必须由return返回值


举个小例子:

计算1加到n的和

分析:

先来封装一个函数为sun(n); 找出临界值,如果n==1时,就直接return返回1

然后我们先来假设计算到100的和,就要用sum(100) = sum(99)+100;前99的和再加上100

这样可以得出1加到n的公式,sum(n) = sum(n-1)+n;

从sum(1)加到sum(100)这就是一个递归

function sum(n){    if(n = 1){        return 1;
    }    return sum(n - 1)+n;
  }
alert(sum(100));

注意:递归会在短时间内,使内存剧增,这也是工作中一般禁止使用的原因

关于递归我们来写一个练习

打印n个hello world

分析:

1.首先定义一个函数function print(n){}

2.找出一个临界值,n==0时,就不需要打印了,直接return;即可

3.不等于0时,直接document.write打印hello world

4.然后紧跟着return print(n-1); 依次打印

<script type = "text/javascript">    function print(n){        if(n == 0){            return;
        }
        document.write( "hello world !<br />");        return print(n - 1);
        }    print(10);
</script>

这里我们来打印10个,运行效果如下

43f3d932d7e34e138dd6127d271bd8b2.png

标签: JavaScript

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~