我的javascript之路之递归

来源:互联网 发布:小爱音箱 知乎 编辑:程序博客网 时间:2024/05/01 16:48

1.递归的学习之 累加


//本例处理过程为:

//第一步 5+getSum(4) ;
//第二步    4+getSum(3);
//第三步         3+getSum(2);

//第四步            2+getSum(1);

//第五步                    1

//第六步  函数往回返      2+1

// 3+2+1

// 。。。。。。。

//                          5+4+3+2+1

//注意:递归假如没有限制条件的话,就会堆栈溢出。

//例子中:if(n===1){return 1;}就是约束条件,当n取值为1时,就会返回1,并结束当前函数。


function getSum(n){
if(n<=0){
return 0;
} //判断


if(n===1){
return 1;
}
sum=n+getSum(n-1);
return sum;
}


console.log(getSum(5));



2.递归  求解类似abc等各位上的数字和。


function getSum(n){
if(parseInt(n/10)==0){
return n;
}
return (n % 10) + (getSum(parseInt(n/10))) ;


}
console.log(getSum(123));
0 0