Funktionen
Nach dem Schlüsselwort function braucht man
- Den Namen der Funktion
- Die Funktionsargumente, in Klammern eingeschlossen, durch Kommata getrennt
- Die JavaScript Anweisungen, die die Funktion definieren, in geschweifte
Klammern eingeschlossen
Ein weiterer Funktionsaufruf innerhalb der Anweisungen ist erlaubt. Alle Funktionen werden zw. den HEAD-Tags definiert, sodass sie beim Öffnen der Seite zuerst geladen werden.
Das zugehörige Skript:
<SCRIPT LANGUAGE="JavaScript">
<!--
mein_zeichen="&"
function zeichenausgabe(str) {
document.write(str)
}
zeichenausgabe("<HR>")
for (zaehler=1; zaehler<=30; zaehler=zaehler+1)
zeichenausgabe(mein_zeichen+" " )
zeichenausgabe("<HR>")
// -->
</SCRIPT>
Kombiniert man "function" mit einer Zählschleife, so kann man sich an ff. Spielerei erfreuen (leider funktioniert die Zentrierung nicht und musste mit <CENTER> korrigiert werden, im stlysheet ist für <HR> ein padding von 2px vorgegeben.):
Das zugehörige Skript:
<SCRIPT LANGUAGE="JavaScript">
<!--
function streifen(breite) { document.write("<HR ALIGN='center' WIDTH="
+ breite + "%>") }
for (zaehler=90; zaehler>=0; zaehler=zaehler-20)
{ x=zaehler;streifen(x ) }
// -->
</SCRIPT>
Funktionsargumente werden in einem "ARRAY" (siehe Schaltfläche oben auf der Seite)
aufgeführt, die dann folgendermaßen aufgerufen werden:
functionName.arguments[i]>
Hat eine Funktion z.B. den Namen meine_funk, so gilt für das 1. Argument:
meine_funk.arguments[0]
Die Gesamtzahl der Funktionsargumente wird durch die Variable
arguments.lengths festgelegt.
Das ff. Beispiel soll Listen in HTML-Dokumenten erstellen:
Das zugehörige Skript:
<SCRIPT LANGUAGE="JavaScript">
<!--
function list(type) {
document.write("<" + type + "L>") // Beginn des Durchlaufs d.d.Liste
// Abarbeitung der Argumente
for (var i = 1; i < list.arguments.length; i++)
document.write("<LI>" + list.arguments[i])
document.write("</" + type + "L>") // Ende "Liste"
}
list("o", "eins", 1967, "drei", "usw....")
list("u", "eins", 1967, "drei", "usw....")
// -->
</SCRIPT>
Mit der RETURN-Anweisung wird festgelegt, welchen Wert die Funktion
an das Programm zurück gibt:
Das zugehörige Skript:
<SCRIPT LANGUAGE="JavaScript">
<!--
function mehrwert_dazu (a) { return a+a*0.19}
document.write ("200 Euro <BR> + MWS <BR>" + "----------- <BR>
= " )
document.write(mehrwert_dazu(200)," Euro")
// -->
</SCRIPT>
FELDER - array
Ein eindimensionales Feld kann man sich als eine Liste vorstellen, die Listenelemente sind dabei über Indizes ansprechbar und müssen vom gleichen Typ sein.
Möchte man z. B. 4 Namen speichern, dann sind nicht 4 Variablen nötig, sondern ein einziges array-Objekt.
MeineFreunde = new Array("Anton", "Berta", "Caesar", "Emil")
Mit
MeineFreunde[0], MeineFreunde[1], MeineFreunde[2], MeineFreunde[3] werden dann die Variablen angesprochen.
Arrays können auch mit Hilfe von for-Schleifen definiert werden;
<html>
<head><
<script type="text/javascript">
var Freunde = new Array(2);
for (var i = 0; i < Freunde.length; ++i)
Freunde[i] = new Array(3);
Freunde[2][0] = "Hallo";
alert(Freunde[1][0]);
</script>
</head>
<body></body>
</html>
wobei die Schleife für die ursprünglichen 2 Elemente neue arrays mit 3 Plätzen definiert. Auf den 1. Platz des 2. Feldes wird dann der Wert 'Hallo" gelegt.