Wie wird in einem HTML-Dokument gerechnet ? - Teil 4

Übergabeargumente werden an die Funktionen direkt übergeben, das heißt, es wird nur der Wert, und nicht die Variable selbst in die Funktion übernommen. Hierzu ein Beispiel:


 <script language="JavaScript">
 <!--
  function beispiel(kk)
  { kk=kk+1; }
  var ii=1;
  beispiel(ii);
  alert(ii);
 //-->
 </script>

Hier wird der Wert der Variable "ii" an die Variable "kk" an die function "beispiel" übergeben. In der Funktion selbst wird der Wert von "kk" um 1 erhöht und beträgt somit "2". Nach Verlassen der Funktion hat aber die Variable "ii" nach wie vor den Wert "1". Und genau aus diesem Grund ist bei der Verwendung von Funktionen besonders auf den Gültigkeitsbereich von Variablen zu achten.

Mit den beiden nachfolgenden Beispielen möchte ich das eben gesagte noch einmal verdeutlichen:

 <script language="JavaScript">
 <!--                         <!--
  function add(a1, a2)         function add(a1, a2)
  {                            {
  kk=a1+a2;                    var kk=a1+a2;
  return kk;                   return kk;
  }                            }
  ii=1;                        ii=1;
  kk=2;                        kk=2;
  summ=add(ii, kk);            summ=add(ii, kk);
  alert(kk);                   alert(kk);
 //-->                        //-->
 </script>                    </script>

Im linken Beispiel ist die innerhalb der Funktion "add" verwendete Variable "kk" als globale Variable definiert. Die Übergabe "kk=a1+a2" setzt den Wert von "kk" auf "3". Das Ergebnis der globalen Variable "kk" im JavaScript ist also "3".

Im rechten Beispiel dagegen habe ich in der Funktion "add" die Variable "kk" über die Funktion "var" als lokale Variable definiert. Das Ergebnis kann somit nicht den Inhalt der globalen Variablen "kk" im JavaScript ändern, und bleibt "2".

Hinweis:
Funktionen sollten im <head> ... </head>-Bereich eines HTML-Dokuments zu finden sein. Das erleichtert nicht nur die Übersicht. Zugleich ist sichergestellt, daß die Funktion auch wirklich vom Browser erkannt und definiert wurde.

Die im oberen Beispiel verwendete "return-Anweisung definiert, daß die Funktion an dieser Stelle abgebrochen und zum auslösenden JavaScript zurückgekehrt wird.
Eine "return"-Anweisung kann zugleich (wie im obigen Beispiel) ein Ergebnis zurückliefern. Als Ergebnis ist sowohl eine Variable als auch ein Ausdruck erlaubt.

Ein arguments-Array enthält alle an eine Funktion übergebenen Argumente. arguments.length gibt dabei immer die Anzahl der übergebenen Parameter an. Dabei ist darauf zu achten, daß jedes Array in JavaScript mit "0" beginnt.

Wenn man z.B. 3 Argumente übergibt, so enthält arguments.length den Wert 3. Die eigentlichen Parameter sind aber mit "arguments[0]", "arguments[1]" und "arguments[2]" abzufragen.

Sehen wir uns das am Besten einmal in der Praxis an:

  <script language="JavaScript">
  <!--
   function summe()
   {
   var sum=0;
   for(var ii=0; ii < summe.arguments.length; ii++)
   { sum+ = summe.arguments[ii]; }
   return sum;
   }
  //-->
  </script>
  </head>
  </body>
  <script language="JavaScript">
  <!--
   document.write("1 + 2 + 3 + 4 + 5 = ");
   document.write(summe(1,2,3,4,5));
 //-->
 </script>

1 + 2 + 3 + 4 + 5 = 15

Die Funktion "summe" hat die Aufgabe, eine beliebige Anzahl von Eingabeparametern zu addieren. Anders als bei der Funktion von "fakultaet", wo der übergebene Parameter die Variable "kk" ist, wird hier kein Argument definiert. Stattdessen greife ich direkt auf das Array von arguments[] zu, das alle Übergabeparameter enthält.

 
 
 
 Kontakt | Übersicht | Komplex-Suche | AGB | Impressum | Datenschutz
Copyright © 2012 Juniors-Workstation. Alle Rechte vorbehalten.
Joomla! ist freie, unter der GNU/GPL-Lizenz veröffentlichte Software.
 
 
     
 
   
Design by windows vista forum and energiesparlampen