下記の再帰関数ですが、挙動が理解できません。
function sam(i){ if(i<0){return;} sam(i-1); console.log(i); } sam(3);
実行結果は
0
1
2
3
となります。
予想では、再帰呼出sam(i-1)の引数が、i<0との時に再起呼出しは終了し、コンソール出力0を出力して終わるように思えたのですが、なぜ0,1,2,3と出力されるのでしょうか?
よろしくお願いします。
回答5件
あなたの回答
tips
プレビュー
投稿2021/01/06 04:22
編集2021/01/06 04:26下記の再帰関数ですが、挙動が理解できません。
function sam(i){ if(i<0){return;} sam(i-1); console.log(i); } sam(3);
実行結果は
0
1
2
3
となります。
予想では、再帰呼出sam(i-1)の引数が、i<0との時に再起呼出しは終了し、コンソール出力0を出力して終わるように思えたのですが、なぜ0,1,2,3と出力されるのでしょうか?
よろしくお願いします。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/06 04:32 編集
2021/01/06 04:40