F(n)=F(n-1)+F(n-2),F(0)=1,F(1)=1,用js代码求F(5)

function  R(num){
    var num=R(num-1)+R(num-2);      
    return num;
}

R(5);
这样写为什么不行,新手求教

function f(n){
if(n == 0 || n == 1){
return 1;
}

    return f(n-1)+f(n-2);
 }

f(5);

 function  R(num){
if (num == 0 || num == 1) return 1;
    var num=R(num-1)+R(num-2);      
    return num;
}

这个肯定不行的,你没有判断退出条件.
完整的一个程序应该是这样的. 需要判断输入值为数字而且大于等于1;

 function  R(num){
   num =parseInt(num);
     if(num <0 || isNaN(num))
     return console.log("错误的输入")
     if(num == 1)
     return 1;
     if(num == 2)
     return 1;
   return R(num-1)+R(num-2);      
}

function f(n){
if(n == 0 || n == 1){
return 1;
}

    return f(n-1)+f(n-2);
 }

f(5);