夜猫的个人小站

       继续码起来

关于作者

微博北极熊硬糖
北京海淀区
递归的理解(js举例)

```js //平常说的递归分两种,一种是递归过程,一种是递归结构。 //递归过程就是函数内部调用了本身。 //在递归的过程中往往要通过分解法来减小最初计算的规模。比如一个求和S=1+2+3+^^^n。 //因为S(n)=S(n-1)+n=S(n-2)+n-1+n=^^^^^^^^^ //所以求和函数可以写成: function S(n){ if(n==1){return 1}; return S(n-1)+n; } //递归函数内部往往要设置一个变量用来判断何时退出函数的调用,像这里的n==1,否则就会陷入死循环。 //在写递归函数的时候你只要记住你定义了一个函数S(n),这个S能求前n项和,那么要求前n项和,就得求前n-1项和。不停的分解到n==1. //还有一种就是递归结构。比如平时用的数组。 var a=[1,2],b=3,c='dddddd'; var arr=[a,b,c]; //数组arr内的每个元素有可能是一个数字,一个字符串,也有可能还是一个数组。 //那么当你想遍历这个数组,将数组内的每个数字,字符全部取出,按顺序排列。 /

阅读全文 浏览数 467
回到顶部