使用递归,计算斐波那契数列

使用递归,计算斐波那契数列

function fib(num) {
  if (num > 2) {
    return fib(num - 2) + fib(num - 1);
  } else {
    return 1;
  }
}

fib(6)

运行过程

1. return fib(4)+fib(5)

2.return fib(2)+fib(3)+fib(3)+fib(4)

3.return 1+fib(1)+fib(2)+fib(1)+fib(2)+fib(2)+fib(3)

4.return 1+1+1+1+1+1+fib(1)+fib(2)

5.return 1+1+1+1+1+1+1+1=8

所以结果为8

函数表达式定义函数时,若带上函数名,则函数名只在函数内部有效,

作用:递归调用本身

  var sum = function x(num){

    if(num>2){

      return x(num-2)+x(num-1);

    }else{

      return 1;

     }

  }

sum(6)

x(5)    //x is not defined

原文地址:https://www.cnblogs.com/jiechn/p/4139584.html