我在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 的闭包中。但我不知道如何解决它。