我正在处理一个递归函数,它似乎返回了错误的值而不是预期的值.我能够复制它并将功能简化为:
function foo(i, target){
if(i < target){
i++;
foo(i, target);
}
return i;
}
console.log(foo(0,5));
Run Code Online (Sandbox Code Playgroud)
基本上,鉴于上面的函数,我希望返回值为5.但是,它似乎返回1.当我做一些跟踪时,我注意到"返回i"被调用了几次,每次它都会减1 ?这种行为的原因是什么,我该怎么做才能解决这个问题?