JavaScript再帰関数はフィボナッチ数列、黄金分割数列を実現し、再帰的定義と用法の実例分析を行います.


再帰する
再帰関数とは、関数内でこの関数を呼び出します.再帰関数の使用には注意が必要です.不適切な処理は死のサイクルに入ります.死のサイクルに入らないように、再帰関数を書くには、まず終了条件(循環を終了するために)再帰関数を書きます.次のコードは死再帰の例です.
function fn(){
        console.log(1)
       fn()
  }
関数fn()を呼び出すと、fnのコードを実行しても、終了の条件がない場合は、常に自身を呼び出して、無限の実行を行います.これを死再帰といいます.
以下に簡単な再帰要求を実現します.1+2+3+++100の和を実現します.
function sum(n){
                if(n==1){ //n==1             
                //  n==1   ,             
                    return 1
                }else{
                    return sum(n-1) + n //  n==4   ,     
                    //      sum(4) = 4+ sum(3); sum(3) = 3+sum(2);
                    // sum(2) = 2 +  sum(1) 
                    //        sum(n) = n + sum(n-1)
                }
            }
          sum(100)        5050
以下のn+…100を実現するためには、ジャンプサイクルの条件n=100を見つけるだけで100に戻ります.

```javascript
function sum(n){
                if(n==100){ //n==100             
                //  n==100   ,             
                    return 100
                }else{
                    return sum(n+1) + n //  n==97   ,     
                    //      sum(97) = 97+ sum(98); 
                    //sum(98) =98+sum(99);
                    // sum(99) =99+sum(100) 
                    //        sum(n) = n + sum(n+1)
                }
            }
関数sum(100)を呼び出して出力した結果、これはもちろんのこと、コール関数sum(97)の出力結果は394だった.
            1 100   

```javascript
function fn(n){
             if(n==1){
                 return 1
             }else{
                 return fn(n-1) *n 
             }
         }
次は一つの関数でnから100までの階乗を実現します.
function fn(n){
             if(n==100){
                 return 100
             }else{
                 return fn(n+1) *n 
             }
         }
nからmまでの階乗を実現するには、交換条件n=mを提示するだけで実現できます.
フィボナッチSequenceの第N項を計算します.フィボナッチ数列とも言われています.ゴールド分割数列とも言われています.数学者レオナルド・フィボナッチがウサギの繁殖を例に導入したので、「ウサギの数列」とも言われています.このような数列を指します.フィボナッチの数列は、F(1)=1、F(2)=1、F(n)=F(n−1)+F(n−2)(n≧3)という方法で定義されています.
    function fn(n){
     if(n==1||n==2){
         return 1
     }else{
         return fn(n-2) + fn(n-1)
     }
 }
まとめ:1.まず、サイクル終了の条件として臨界値を探します.つまり、計算によって得られる値ではないです.2.今回と前回の関係を探します.3.現在の関数はもう使えます.例えば、1+2+3++100の和sum(100)=sum(99)+100を実現します.sum(n)=sum(n-1)+nは、returnsum(n-1)+nとなります.