| <- Vorlesung 5 | Übungen | Vorlesung 7 -> |
Nachdem wir damit vertraut sind, wie mit PHP auf dem WWW-Server Seiten dynamisch erzeugt werden können, wenden wir uns nun wieder dem Client zu. Die Sprache JavaScript wurde von der Firma Netscape entwickelt und erstmals 1995 in den Netscape Navigator 2.0 integriert. Ursprünglich hieß die Sprache LiveScript, wurde aber dann in JavaScript umbenannt.
Kurz gesagt ist JavaScript eine fast vollwertige Programmiersprache, die
Es gibt mittlerweile eine Reihe von JavaScript-Versionen, die von verschiedenen Browser-Versionen unterschiedlich gut verarbeitet werden können:
Literatur:
Eine systematische Einführung ist bei
SELFHTML
von Stefan Münz enthalten. Anhand zahlreicher Beispiele wird
bei JavaScript für alle von Uwe Brinkmann
in die Thematik eingeführt. Dort gibt es auch eine Seite mit
weiteren Hinweisen auf
Literatur.
Wir werden uns in etwa an der Vorgehensweise bei SELFHTML orientieren.
<script language="JavaScript"> hier steht das JavaScript-Programm </script>eingeschlossen. Damit bei Browsern, die kein JavaScript beherrschen, der JavaScript-Programm-Text nicht angezeigt wird, schließen wir in üblicherweise in HTML-Kommentare ein:
<script language="JavaScript"> <-- hier steht das JavaScript-Programm //--> </script>Es gibt keine festen Regeln, wo das JavaScript-Programm auf der HTML-Seite stehen soll. Normalerweise setzt man alles, was beim Laden der Datei ausgeführt werden soll (z.B. die Definition von eigenen Funktionen), in den Kopfteil (Head). Soll ein JavaScript-Programm HTML-Text auf der Seite erzeugen (wie z.B. Datumsangaben), so steht dieser Programmteil üblicherweise an der Stelle, an der der Text erscheinen soll.
In unserem ersten JavaScript-Programm öffnen wir ein neues Fenster mit etwas Text:
<HTML>
<HEAD>
<TITLE>
JavaScript-Einführung
</TITLE>
<script language="JavaScript">
<!--
alert("Hallo");
//-->
</script>
</HEAD>
<BODY>
Test
</BODY>
Wir greifen ein wenig voraus und sehen, wie wir JavaScript mit
Formularen verbinden können. Zuerst definieren wir uns eine Funktion,
die dann mit einem Klick auf einen Button gestartet wird:
<HTML>
<HEAD>
<TITLE>
JavaScript-Einführung
</TITLE>
<script language="JavaScript">
<!--
function Sekunden( Tage ) {
alert(3600*24*Tage);
}
//-->
</script>
</HEAD>
<BODY>
Test
<FORM>
<INPUT TYPE="button" VALUE="Start" onClick="Sekunden(7)">
</FORM>
</BODY>
Achtung: Im Gegensatz zu PHP wird bei JavaScript
die Groß- und Kleinschreibung strikt unterschieden.
function Sekunden( Tage ) {
sek = 3600*24*Tage;
alert(sek);
}
An diesem Beispiel sehen wir, daß Variable in JavaScript im
Gegensatz zu PHP ohne $-Zeichen geschrieben werden.
Überhaupt müssen Variablen- oder Funktionsnamen folgendermaßen gewählt werden:
i = 10; j = 1.3; a = "Hallo";Die Variablen i und j werden als Zahlen interpretiert, die Variable a als Zeichenkette. Kurz gesagt, alles was mit " eingeschlossen wird, ist Zeichenkette.
Variable werden meist mittels des reservierten Worts var definiert.
function langerText() {
var x = "";
for (i=0;i<10;i++) {
x = x + "Hallo\n";
}
alert(x);
}
Hier wird der Text Hallo 10 mal aneinandergehängt und danach
ausgegeben.
Man beachte, daß das +-Zeichen hier Zeichenketten aneinanderhängt,
da die erste Variable eine Zeichenkette ist. Wäre die erste Variable vom Typ
Zahl, so wird JavaScript versuchen, die auftretenden Zahlen zu addieren.
Eine Kurzform zu
x = x + "Hallo\n";ist
x += "Hallo\n";d.h. alles was rechts von = steht, wird zu x hinzugefügt (oder addiert, falls x eine Zahlvariable ist). Analog gibt es bei Zahlvariablen die Befehle "-=", "*=", "/=".
Obwohl es wahrscheinlich etwas langweilig ist, betrachten wir doch noch einmal die verschiedenen Möglichkeiten Schleifen zur realisieren.
Der Befehl
i=0;
while (i<10) {
document.write(i+"<BR>");
i++;
}
schreibt die Werte der Variablen i von 0 bis 9 direkt in die
HTML-Seite (an der Stelle, an der der Befhel steht).
i=0;
do {
document.write(i+"<BR>");
i++;
} while (i<10);
verhält sich genauso, mit dem Unterschied, dass die Schleife
egal wie der Wert von i zu Beginn ist, mindestens einmal
durchlaufen wird.
for (i=0;i<10;i++) {
document.write(i+"<BR>");
}
Dies ist die bereits aus PHP bekannte for-Schleife. Initialisierung,
Test und Hochzählen wird zusammen in einer Zeile festgelegt.
| <- Vorlesung 5 | Übungen | Vorlesung 7 -> |