回调和递归?
回调:在当前函数中执行别人的函数。
递归:在当前函数的底部执行自己,不是一下子就执行自己,而是把自己当作一个副本,然后去执行副本的自己。
如递归方式计算1-3相加的和
<script>
var i=0;
var sum=0;
function getSum(){
i++;
sum += i;
if(i>2){
return;
}
return getSum();
}
console.log(getSum());
</script>
拆分该递归就是
<script>
var i=0;
var sum=0;
var s=fn0();
function fn0(){
i++; //i=1
sum+=i;//sum=1
return fn1();//
}
function fn1(){
i++;//i=2
sum+=i;//sum=3
return fn2();//6
}
function fn2(){
i++;//i=3
sum+=i;//sum=6
if(i>2){
return sum;//6 依次往上返回
}
}
</script>