Arbeiten mit Javascript
Eine einführende Vortragsübung
Referentin: Christin Püschel
29. Juni 2005
Übersicht
Allgemeines
Entwicklungsgeschichte
Funktionen
Übungsbeispiele
Javascript...was ist das genau?
Script-Sprache zur Verwendung innerhalb von HTML-Dokumenten
Skriptsprache = Programmiersprache, die nicht direkt vom Prozessor ausgeführt wird, sondern von einem anderen Programm „interpretiert“ wird Interpreter (Browser)
JavaScript zur Gestaltung interessanter, interaktiver Seiten
Javascript...was ist das genau?
kompakte überschaubare Sprache
Voraussetzung für Erstellung: einfacher Text-Editor und ein JavaScript-fähiger Browser
Direkte Weitergabe des Quellkodes ohne Umwandlung möglich
Geschichte
von Netscape zunächst unter dem Code-Namen mocha, dann unter dem Namen Live-Script entwickelt
Orientierung an Programmiersprache Java von Sun
Nach Anerkennung als "legitimer" Ableger von Java folgte entgültige Namenswahl: JavaScript
Geschichte
Mit Netscape 4.0 folgte JavaScript Version 1.2
Auf Basis von JavaScript 1.0 hat Microsoft ebenfalls einen Interpreter in den Internet Explorer integriert JScript
Sprachumfänge sind nicht vollkommen deckungsgleich
Funktionsbeispiele
die Überprüfung von Bedingungen (if ... else)
das Abarbeiten von Schleifen (for ... while ...)
Durchführung von Berechnungen
Überprüfung von Formularen vor dem Abschicken
dynamisches Ändern von Farben
dynamisches Austauschen von eingebundenen Bildern
Einbindung von Javascripts
a) Entweder... wird der Quellcode direkt in die Datei eingebettet, in der sich auch der HTML-Code befindet
b) Oder... der Quellcode wird in eine eigene Datei verlagert, auf welche von der Webseite verwiesen wird
Zur Unterscheidung von Programmskript und Text wird folgendes Element eingefügt:
a) Einfache Modellform
<script> ... hier steht das JavaScript-Programm ...</script>
beziehungsweise
<script type="text/javascript"></script>
Musterwebseite
<html><head> <script type="text/javascript">
</script> </head> <body> </body> </html>
Position des Scripts innerhalb des html-Körpers
Das Element darf (fast) überall in einer Webseite enthalten sein
Aber: es ist sinnvoll, script im Element head unterzubringen
Außerdem sagt der Name des Elements noch gar nichts darüber aus, um welche Programmiersprache es sich bei dem Inhalt handelt
Position des Scripts innerhalb des html-Körpers
daher braucht der Browser noch den Hinweis, welche Art von Inhalt er in script vorfindet
Hier die Unterscheidung zweier Attribute, language und type.
Ersteres wurde von Netscape eingeführt, das zweite ist eine Vorgabe des HTML-Standards, die in der Praxis noch nicht relevant ist, die man aber schon jetzt einhalten kann.
b) Einbettung in eine eigene Datei
JavaScript wird hier in Dateien mit der Endung .js gespeichertUm zum Beispiel auf eine Datei library.js zu verweisen, muss folgender Code in den Kopfbereich der Webseite gestellt werden
<script type="text/javascript" src="library.js"> </script>
Beispiel.js im Übungsskript
Idealform der Einbettung
<html><head> <title>... der Titel des Dokuments ...</title><script language="JavaScript“ type="text/javascript">... hier steht das JavaScript-Programm ...</script> </head> <body> ... hier steht die HTML-Seite ... </body></html>
Idealform der Einbettung
Die Position von script im Kopf der Seite bietet sich an, um dort Funktionen, Variablen und weitere Datenstrukturen zu definieren, die zu einem späteren Zeitpunkt verwendet werden
Um auf Ereignisse (Cursorbewegung) reagieren zu können, wurden mit JavaScript besondere Attribute für einige HTML-Elemente definiert, die so genannten Event-Handler.
Beispiele für Events
onClick Ein Objekt wird angeklickt
onFocus Objekt wird aktiviert
onLoad Nach Laden eines Objektes
onMouseOut Objekt wird von Maus verlassen
onMouseOver Objekt wird mit der Maus überfahren
onSelect Text wird markiert
Zusammenfassung
Javascript- Anweisungen stehen entweder im
Element <script>...</script>
Oder in besonderen Attributen, den
Event-Handlern
Aufgabe 1
Kopiert den ersten und zweiten Quellcode aus der Word-Datei Script1 in Euren Editor und aktualisiert anschließend die Browseransicht!
Einbettung der Scripts in Kommentare
Problem: was machen Browser mit JavaScript-Programmen, wenn sie diese nicht lesen können? Wenn der Web-Browser neuer ist, wird er das Element script kennen und den Inhalt einfach übergehen) Eventuell kommt das Programm aber auf die Idee, den Inhalt und die Anweisungen anzuzeigen Um das zu verhindern, muss der Inhalt von script in HTML-Kommentare eingebettet werden:
Einbettung der Scripts in Kommentare
<script language="JavaScript" type="text/javascript"> <!-- Inhalt vor alten Browsern verstecken ... hier steht das JavaScript-Programm ... // Ende: Inhalt verstecken --></script>
Erklärungen<!– und --> alles hierzwischen ist für alte Browser unsichtbar//hiermit wird ein JavaScript-Kommentar eingeleitet
Einbettung der Scripts in Kommentare
Will man zusätzlich dem User eine Mitteilung machen, dass er mit einem anderem Browser eine JavaScript-Darstellung erhalten hätte, verwendet man das Element „noscript“
Der Inhalt wird nur bei ausgeschalteten Javascript angezeigt
Übung 2
Fügt bitte den Skript 3 in den Editor und aktualisiert den Browser
Verwendung des Attributes „language“
Es gibt mittlerweile von JavaScript mehrere Versionen
der Browser muss erkennen können, um welche Version es sich handelt
wird eine andere Version als 1.0. eingesetzt, sollte dies mit dem Attribut language angezeigt werden:
Verwendung des Attributes „language“
<script language="JavaScript1.1">
<!-- JavaScript 1.1 -->
<script language="JavaScript1.2">
<!-- JavaScript 1.2 -->
Variablen
Variablen sind Platzhalter für bestimmte, nicht festgelegte Wertekönnen in JavaScript ohne vorherige Bekanntmachung benutzt werden. Für eine bessere Lesbarkeit eines Programms empfiehlt es sich jedoch, Variablen
zu Beginn des Programms oder script-Elements zu deklarieren mit aussagekräftigen Namen zu versehen und mit einem Initialwert zu definieren.Hier einige Variablendefinitionen:
Variablendefinitionen
var kontonummer = 0;
var kontoinhaber = "";
var kontostand = 0.0;
Variablen
es können auch "richtige" Werte eingesetzt werden:var iKontonummer = 0; var sKontoinhaber = "";var fKontostand = 0.0;
i für eine Ganzzahl (Integer)s für eine Zeichenkette (String) f für eine Fließkommazahl (float) nur eine Konvention
Variablen
Durch das „ = “-Zeichen wird der Ausdruck rechts vom Gleichzeichen ausgewertet und dem links stehenden Ausdruck zugeordnet
Programmsteuerung: If-then-else
if (kontostand < 0) { document.writeln("Du bist pleite :-("); } else
{ if (kontostand == 0) { document.writeln("Du hast kein Geld :-|"); } else
{ document.writeln("Du bist reich :-)"); } }
Programmsteuerung: For-schleife
Anweisungsfolge für eine bestimmte Anzahl an Durchläufen wiederholt
Zum Beispiel
var summe = 0;
for (var i=1 ; i<=10 ; i=i+1)
{ summe = summe + 1; } document.writeln("Ergebnis ist: ",summe);
Programmsteuerung: For-schleife
Hier werden die Zahlen von 1 bis 10 aufaddiert und das Ergebnis in die Variable summe geschrieben. Die Zählvariable i beginnt bei 1 (i=1), läuft solange i kleiner oder gleich 10 ist (i<=10) und wird bei jedem Durchlauf um 1 erhöht (i=i+1). Anschließend gibt document.writeln das Ergebnis aus
Übung 3
Schreibt ein Programm, das die Quadrate der Zahlen von 0 bis 9 auf einer HTML-Seite ausgibt.
Tipp: Benutzt eine for-Schleife, die von 0 bis 9 hochzählt, den Zähler quadriert und das Ergebnis mit document.writeln() ausgibt
Ergebnis
<script language="JavaScript" type="text/javascript"> <!-- Inhalt vor alten Browsern verstecken document.writeln("Ausgabe der Quadratzahlen von 0 bis 9:"); for (var i=0; i<10; i=i+1) { document.writeln("Quadrat von ",i," ist: ",i*i); } // Ende: Inhalt verstecken --> </script>
Literatur und Quellen
SELFHTML.de
Javascript-world.de
DeveloperChannel.de
Web-toolbox.net
Top Related