js for递归函数不起作用

时间:2016-12-24 12:30:48

标签: javascript recursion

我的代码在JS中无法正常工作但在c中正在运行。为什么? 为什么在调用递归函数时不起作用? 在递归函数中我能做些什么?我必须使用JavaScript制作这个项目。

JS CODE

<a onClick="req(1)">Click</a>
<script>
function req(s){
    if(s<5){
        console.log(s);
        for(i=0;i<s;i++){
            req(s+1);
        }
    }
}
</script>

此代码返回此值: 1 2 3 4

C代码

#include <stdio.h>

void req(int s){
    if(s<5){
        printf("%d\n",s);
        int i = 0;
        for(i = 0;i<s;i++){
            req(s+1);
        }
    }
}

void main(){
 req(1);

}

是:

1 2 3 4 4 4 3 4 4 4

1 个答案:

答案 0 :(得分:4)

始终。宣布。您的。变量

否则他们会在草率模式下变得全球化。

&#13;
&#13;
function req(s) {
  if(s<10) {
    console.log(s);
    for(var i=0; i<s; i++) {
      req(s+1);
    }
  }
}
req(1);
&#13;
&#13;
&#13;