JavaScript Function Beispiel 3: Funktionen mit Parametern und Rückgabewert

Im folgenden Beispiel wird eine Funktion definiert, die zwei Parameter erwartet und darüber hinaus einen Rückgabewert liefert. Die Funktion ermittelt den größten gemeinsamen Teiler der beiden übergebenen Zahlen. Es handelt sich dabei um eine rekursive Funktion – die Funktion ruft sich innerhalb des Anweisungsblocks der Funktion selbst auf. Durch das reservierte Wort return wird der Rückgabewert zurückgeliefert.

Das erste Return liefert dabei nicht direkt einen Wert zurück, sondern ruft den nächsten Rekursionsschritt auf (wiederum die Funktion ggt, diesmal allerdings mit anderen Parametern). Dies geschieht solange, bis die letzte Bedingung (val2 > 0) nicht mehr zutrifft. Ist dies der Fall, so wird per return der Wert zurückgeliefert, der in diesem Durchgang in der Variable val1 steht (Bedingt durch das zweite Return in der Funktion). Letztlich wird dieser Wert beim Rücksprung in die jeweils vorherigen Aufrufe „druchgereicht”.

Nach der Funktionsdefinition wird dann durch die Methode document.write des vordefinierten JavaScript-Objekts Document der ermittelte Wert zusammen mit einer enstsprechenden Meldung ausgegeben.

<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Funktion zur Ermittlung des größten gemeinsamen Teilers
// zweier Zahlen.
// Es werden zwei Parameter erwartet, deren ggt ermittelt werden
// soll. Die beiden Parameter müssen ganzzahlige und vorzeichenlose
// Zahlen sein. Achtung! Diese Voraussetzungen werden hier nicht
// geprüft! Dies sollte allerdings im Normalfall immer geschehen.
// Die Funktion gibt als Rückgabewert den ermittelten ggt zurück.
function ggt (val1, val2) {
  var tmp;
  if (val1 < val2) {
    tmp = val1;
    val1 = val2;
    val2 = tmp;
  }
  if (val2 > 0)
    return ggt (val2, val1 % val2);
  else
    return val1;
}

// Aufruf der Funktion und sofortige Ausgabe des gelieferten
// Rückgabewertes.
document.write ('GGT von 350 und 675: ' + ggt (350, 675));
// -->
</script>

Letzte Posts aus unserem Forum

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Montag, 23. Januar 2012 17:02 von alm

Hallo, wenn es um einen MP3-Player geht, dann sollte jplayer das Richige sein. Einfach mal den Suchschlitz der Suchmaschine Deiner Wahl nutzen. ... » mehr

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet

Galerie Erweiterung

Hi, zu erst mal ein Lob an Eure Galerie. Nun habe ich allerdings eine Frage um die Galerie eventuell zu erweitern. Derzeit wird auf meiner Seite ... » mehr

von G-RuN am Dienstag, 25. Januar 2011 17:13 in JavaScript - bisher 8 Antworten
Letzter Beitrag: Dienstag, 1. Februar 2011 17:11 von G-RuN

Hat sich erledigt. Mir haben noch die Zuweisung von der Variablen anzahl_bilder und anzahl_thumbnails gefehlt. Grüße, ... » mehr

bei submit ein neues Fenster öffnen

Hallo, ich habe hier ein kleines Problem und ... » mehr

von Kallchen am Freitag, 14. Januar 2011 23:07 in JavaScript - bisher 3 Antworten
Letzter Beitrag: Samstag, 15. Januar 2011 12:47 von alm

window.location = "_blankeineseite.html"; Das funktioniert auf keinen Fall. Die Location-Eigenschaft muss eine URL enthalten und wird bei ... » mehr



¬ Insolvenzrecht