再帰呼び出しについて:
再帰呼び出しは、ネストされた呼び出しの特別な種類が関数呼び出し自体をであるか、単に、それぞれ別の関数を再帰的に呼び出さなければなりません農産物流通にある再帰呼び出しの1ソリューションを呼び出し、再び彼自身を呼び出した後に他の関数を呼び出すことです論理的な思考は、作業は大きな減少はほとんどの作業に分かれています。
言うべき人気は、このです:背面から前方に押し、自分自身を呼び出します。
あって再帰呼び出し:
1.終了条件=>復帰に包まれたならば、
2.計算条件=>アルゴリズム; =>ミニマルなアルゴリズム;;
3.戻り結果=>復帰。
再帰呼び出しの典型的な例:
累積:1 + 2 + 3 + 4 + 5 + 6 ....
VARカウント= 0; 関数の和(NUM){ //この操作は、値、開始点への復帰を開始します。 ++カウント;再帰関数が実行//ビュー。 //終了条件 IF(NUM === 1){ 1を返します。 } //動作条件 I・リターン(NUM - 1)+ NUM。 } VaRのRES = SUM(100)。 console.log(RES)。 console.log(カウント)。
スクリーンショット操作は:
この例では、NUM = 0、プログラムが終了するまで前進し、最後の番号numから出発して、関数呼び出し自体を実現することです。何度も繰り返し還元額(NUM - 1)を実行するために+ NUM、 サイクル・コールの合計()関数を、典型的な再帰呼び出しがあります。
再帰呼び出しの別の典型的な例:フィボナッチ数
どの列のスタイルの数11235813 .....フィボナッチ数の入力欄項目フィボナッチ数であり、特定の項目の現在値を算出し、
関数FIB(N){ //終了条件: エントリは// 1または2、リターン結果と判断された場合。 IF(N === 1 || N === 2){ 1を返します。 } //算術のルール: 戻りFIB(N - 1)+ FIB(N - 2) } そこRES = FIB(40)。 console.log(RES)。
使用上の注意再帰呼び出しを:
日常の使用では、我々は通常より長くのためにのためにとwhileループに比べて、その時間のかかるの再帰呼び出しを、使用しないでください。