woo*_*gie 1 javascript recursion
在下面的脚本中,为什么badFactorial在goodFactorial工作时吹掉堆栈?
function badFactorial(n){
if( n < 0){
return 1;
}
if(n < 2){
return n;
}
return badFactorial(n * (n-1));
}
function goodFactorial(n){
if(n < 2){
return n;
}
return goodFactorial(n-1) * n;
}
Run Code Online (Sandbox Code Playgroud)
你的创造无限循环
badFactorial(n * (n-1));
它会继续增加.
说你过去7.你正在做而不是减少
return badfactorial(7 * 6)
当你想要的时候 :
return badfactorial(6) * 7;
所以改变回报就好像是你的好因素,
badfactorial(n-1) * n;
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |