1043833959.jpg
定义:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
递归注意的问题:递归必须有跳出的条件,否则就会进入死循环。

递归与循环的区别与联系

相同点:
(1)都是通过控制一个变量的边界(或者多个),来改变多个变量为了得到所需要的值,而反复而执行的;
(2)都是按照预先设计好的推断实现某一个值求取。

不同点:
递归通常是逆向思维居多,“递”和“归”不一定容易发现(比较难以理解);而循环从开始条件到结束条件,包括中间循环变量,都需要表达出来(比较简洁明了)。用循环能实现的,递归一般可以实现,但是能用递归实现的,循环不一定能。
递归案例:

  • 用递归求1+100和。

    function getSum(n){
          //跳出条件
          if(n<1){
              return 0;
          }
          //累加
          return n + getSum(n-1);
      }
Last modification:March 18, 2018
If you think my article is useful to you, please feel free to appreciate