Javascriptで再帰がどのように機能するか知りたい。私は以下の例をとります:Javascriptの再帰
function abc(n){
document.write(n + "<br>");
if (n < 4){
abc(n+1);
document.write(n + "<br>");
}
}
私の注意は5行目です。 5日はいつ実行されますか?再帰の前後に5行目が実行されていますか?
ありがとうございました。
Javascriptで再帰がどのように機能するか知りたい。私は以下の例をとります:Javascriptの再帰
function abc(n){
document.write(n + "<br>");
if (n < 4){
abc(n+1);
document.write(n + "<br>");
}
}
私の注意は5行目です。 5日はいつ実行されますか?再帰の前後に5行目が実行されていますか?
ありがとうございました。
は、それがABER最初完成再帰を実行する
function abc(n){
document.write(n + "<br>");
if (n < 4){
abc(n+1);
document.write(n + " Foo<br>");
}
}
abc(1)
@Rushit 4が最初に印刷された後、4のチェックが行われます。 – kennasoft
ALL再帰後または最初の再結合後に実行されますか? – billyhalim25
@ billyhalim25コードスニペットを実行することができます。 1から4までのすべての反復を表示することがわかります。次に、 'foo'で数値を表示します。 – Weedoze
再帰後に実行されます。それはDepth-first searchの原則に従います。
levels comment ------------- ---------------------------------- 1 2 3 4 end of recursion calls, max depth 3 2 1
function abc(n){
document.write(n + "<br>");
if (n < 4){
abc(n+1);
document.write(n + "<br>");
}
}
abc(0);
これは再帰の後に実行されます。再帰は、条件が満たされるまで関数内の関数を呼び出します。あなたのケースでは、関数の "より深い"レベルに入るために、変数nは再帰のために4未満でなければなりません。
ABC(1) - > ABC(2) - > ABC(3)
プログラムが他の行に行くことができる前に、だから3同期関数呼び出しを持つことになります。
http://stackoverflow.com/questions/10638059/javascript-debugging-line-by-line-using-google-chrome – Quentin
再帰の後、2回目の 'document.write'が呼び出されます。 – Shubham
書き込み命令は再帰関数呼び出しの後に置かれるため、再帰呼び出しの後に実行されます; – Eineki