我在JavaScript中有這兩個遞歸函數。 第一個函數按從右到左的順序返回輸入數字的數字 第二個函數按從左到右的順序返回它們。所述第一函數的遞歸中的閉包
function first(n){
if(n > 0){
m = Math.floor(n/10);
v = (n - m * 10) + " " + first(m);
return v;
}
return "";
}
function second(n){
if(n > 0){
m = Math.floor(n/10);
v = second(m) + " " + (n - m * 10);
return v;
}
return "";
}
結果是所述第二函數的
7 6 1
結果是
1 16 167
但我預期這個
1 6 7
我在PHP測試類似的代碼和JAVA和它的作品好。 推測這個問題出現在Javascript的關閉中。但我不知道如何解決它。
使用「變種」。 – ElLocoCocoLoco