JavaScript递归
2019-03-23 本文已影响11人
nomooo
什么是递归?
在函数A中调用函数A自己,就是递归,但是递归要有结束的条件
递归------>如果没有结束的条件就是一个死循环
var i=0;
function f1() {
i++;
console.log("从前有个山,山里有个庙,庙里有个和尚给小和尚讲故事:");
if(i<5){
f1();
}
}
f1();
递归举例
- 求n个数字的累加和: 5 5+4+3+2+1
function getSum(x) {
if(x==1){
return 1;
}
return x+getSum(x-1);
}
var result=getSum(5);
console.log(result);
-求一个数字的每个位数上的和 :如:23--->5 如果是一位数,就直接返回
function getnumberSum(x) {
if(x<10){
return x;
}
return parseInt(x%10+getnumberSum(x/10));
}
console.log(getnumberSum(123));
- 求斐波那契数列--->:1 1 2 3 5 8 13 21 34 55 89 144
function getFib(x) {
if(x==1||x==2){//结束条件
return 1;
}
return getFib(x-1)+getFib(x-2);
}
//
console.log(getFib(6));//8
相关附加
函数尾调用以及尾递归