Rekursive Funktion funktioniert nicht

AlanHorman

Mitglied
Ich verstehe schon, wie rekursive Funktionen arbeiten und das sie If-Anweisungen benötigen.
In C kann ich sie programmieren und es funktioniert.

Bei JavaScript hab ich das Gefühl, dass es mich einfach nicht leiden kann.
Ich habe eine sehr einfache Funktion geschrieben, doch warum wird in der Parameter des erneuten Funktionsaufrufs nicht erkannt? Wenn ich mir die Zahlen 1 - 5 absteigend ausgeben lassen will, werden bei mir nur lauter "undefined"s ausgespuckt. Habe alles mögliche getan, um die Ursache rauszufinden und bin so langsam am verzweifeln. Woran kann das liegen?

Code:
function test(x)
{
  if (x > 0)
  {
    document.write(test(x-1));
  }
}

test(5);
 
Hi

die Rekursion ist in Ordnung, das Problem ist nur, dass ein Aufruf von test
(egal mit welchem Parameter) nichts ist, was man ausgeben kann.
Ein return x; am Ende der Funktion sollte helfen, damit document.write auch was bekommt.
 
Hey super! Besten Dank! :) An eine return-Anweisung außerhalb der if-Blöcke habe ich nicht mehr dran gedacht.
Ich dachte immer, das return würde eine rekursive Funktion abbrechen - da hatte ich falsch gedacht. ;)
 

Neue Beiträge

Zurück