Hochgeladen von Nutzer6292

1 Javascript

Werbung
JAVASCRIPT
Für die Entwicklung dynamischer Webseiten ist JavaScript unerlässlich. Javascript wird vom Browser
ausgeführt und ist eingebettet in HTML inmitten einer <script>-Umgebung. HTML ist nicht case-sensitive,
d.h. es ist wurscht ob ich <HTML>, <Html> oder <html> schreibe — dies gilt aber nicht für Javascript: die
Groß/Kleinschreibung ist für Javascript bedeutsam. Also am besten gewöhne ich mir an, HTML-Befehle
immer klein und Javascript-Befehle immer richtig zu schreiben. Ein typisches kleines Programm:
1: <!DOCTYPE html>
2: <html lang="de">
3:
<head>
4:
<meta charset="UTF-8" />
5:
<title>Caesar</title>
6:
<script>
7:
var ein,aus; // Variablendeklaration der Variablen ein und aus
8:
ein=window.prompt(); // Eingabe über ein prompt-Fenster
9:
aus="Du hast "+ein+" eingegeben."; // Text-Verarbeitung
10:
window.alert(aus); // Ausgabe über ein alert-Fenster
11:
</script>
12:
</head>
13:
<body>
14:
Hier gibt es Javascript-Fenster
15:
</body>
16: </html>
Der Reihe nach: in Zeile 1 (für die Zeilennummern sorgt der Editor, man tippt die Zeilennummern NICHT ab)
wird für XML das Dokument als HTML (Version 5) beschrieben. In Zeile 2 startet das HTML-Dokument mit
dem lang-Attribut, so dass es für den deutschen Sprachraum gedacht ist (de). In Zeile 3 beginnt der KopfBereiche (head), den der Browser NICHT darstellt, lediglich der Titel aus Zeile 5 wird für die ReiterBezeichnung im Browser benutzt. Zeile 4 weist den Browser darauf hin, dass für den Zeichensatz Unicode
(UTF-8) verwendet wird, damit z.B. auch Umlaute überall korrekt dargestellt werden.
Zeile 6 enthält erstmal den letzten HTML-Befehl, ab da kommt Javascript. Zeile 7 enthält das JavascriptSchlüsselwort var. Damit wird global deklariert, dass ein und aus im Folgenden Programm-Variablen sind. In
einer Variable kann z.B. Text oder eine Zahl gespeichert werden. Vermutlich kennst du x,y als Variablen aus
der Mathematik. Jede Javascript-Programmzeile sollte mit einem Semikolon (;) enden. Dahinter steht nach
doppelten Schrägzeichen (//) ein Kommentar. Ein Kommentar wird NICHT ausgeführt. Es ist guter Stil, seine
Programme zu dokumentieren. Ich habe inzwischen vermutlich tausende Programme geschrieben, und
diejenigen, die etwas länger (>3000 Zeilen Code) sind bzw. die ich mir lange nicht mehr angeguckt habe,
verstehe ich selber nicht mehr. Nur mithilfe meiner Kommentare kann ich dann nachvollziehen, was ich mir
damals dabei gedacht habe. Beim Testen und der Fehlersuche kommentiere ich häufig problematische
Zeilen aus, d.h. ich setze die doppelten Schrägzeichen an den Anfang, so dass die ganze Zeile NICHT
ausgeführt wird. Wenn das Programm dann keine Fehlermeldung produziert und durchläuft habe ich
wahrscheinlich den Fehler lokalisiert. Zeile 8 weist der Variable ein den Wert zu, den ich in einem promptFenster eingebe. Zeile 9 macht den Verarbeitungsschritt, der Variable aus wird ein Text zugewiesen, der sich
aus den Bruchstücken “Du hast “, den Text, den ich im prompt-Fenster eingegeben hatte und
“ eingegeben.“ zusammen fügt. Als Verkettungsoperator dieser 3 Textstückchen dient das +-Zeichen. In
Zeile 10 erfolgt die Ausgabe dieses Textes mittels eines Alarm-Fensters (alert). Dies ist schon das Ende des
Javascript-Programms nach dem EVA-Prinzip (Eingabe-Verarbeitung-Ausgabe).
Zeile 11 schließt die Javascript-Umgebung, Zeile 12 den Kopf-Bereich. Eine HTML-Seite kann mehrere
Javascript-Bereiche haben, diese müssen auch nicht (alle) im Kopf-Bereich sein, sondern können auch im
Body-Bereich sein, der sich in obigem Beispiel in Zeile 13 anschließt. Zeile 14 hat einen einfachen Text, den
der Browser nach Ausführung des Javascript-Programms darstellt. Zeilen 15 und 16 schließen Body-Bereich
und HTML.
Da offenbar die Apple iPads Probleme mit dem Öffnen von Fenstern haben (window.prompt, window.alert)
und es auch nicht wirklich guter Stil ist, den Bildschirm mit Fenstern zuzuballern müssen wir auf den iPads
ordentlich mit Formularen für die Eingabe (und evtl. auch Ausgabe) arbeiten. Hierzu verweise ich auf die
entsprechenden Passagen in meinem HTML-Skript, Kap. 7 ab Blatt 12.
Das obige Beispiel mithilfe eines Formulars sieht entsprechend (s.a. Ressourcen Ueb002.html) aus (dieses
mal ohne Zeilennummern vorweg). Damit die Formulareingaben verarbeitet werden, ist es sinnvoll den
Code in eine aufzurufende Javascript-Funktion zu bringen. Durch Drücken des Buttons (onclick) wird die
Funktion aufgerufen. Beim Schreiben muss man auf die richtigen Klammern aufpassen: ( < [ { sind alle vier
verschieden zu benutzen und haben grundverschiedene Bedeutungen, gemeinsam ist ihnen nur, dass sie
alle wieder geordnet geschlossen werden müssen!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Caesar</title>
<script>
function papagei(){
var ein,aus; // Variablendeklaration, deklariere ein,aus als lokale Variablen
// EVA-Prinzip erst die Eingabe
ein=document.f.ein.value; // Wert aus Feld "ein" im Formular "f" wird Eingabe
// dann die Verarbeitung
aus="Du hast "+ein+" eingegeben."; // Text-Verarbeitung
// und schließlich die Ausgabe, der letzte Buchstabe aus dem EVA-Prinzip
document.write(aus) // In das HTML-Dokument wird die "Ausgabe" geschrieben
}
</script>
</head>
<body>
<h3>Der Papagei plappert nach:</h3>
<form name="f">
<input type="text" name="ein" size="20" />
<input type="button" value="Drück mich" onclick="papagei()" />
</form>
</body>
</html>
In Ressourcen Ueb002.html fehlt die ausVariable. Stattdessen wird ein während der
Verarbeitung neu überschrieben, was
Speicherplatz einspart und statthaft ist, da eine
Variable ja variabel ist ;-)
Nebenstehendes Bildchen zeigt, wie schön der
„Speck-Editor“ die Darstellung mit Farben
unterstützt (syntax highlighting).
Spck Editor gibt es für Apple (iPad) und Android
und online unter https://spck.io/
Herunterladen