1 Programmiersprache (JavaScript) (Handout – Nr. 22) 1.1 Einleitung JavaScript ist eine „einfache“ Programmiersprache für das Internet, mit der HTML-Seiten dynamisch gestaltet und mit Funktionen versehen werden können. Java ist nicht gleich JavaScript ! Die Syntax von JavaScript lehnt sich sehr stark an C an, viele Sprachelemente sind völlig identisch. Die Objektorientierung läuft jedoch etwas anders als in C++ oder Java, auch die Kommunikationsfunktionen mit dem Nutzer unterscheiden sich. JavaScript wird vom Webbrowser interpretiert, das macht die Programme langsamer als solche, die in das Binärformat des jeweiligen Betriebssystems kompiliert werden. Dafür aber ist JavaScript unabhängig vom Betriebssystem und in gewissen Grenzen auch vom Browser. Allerdings ist sie aufgrund ihrer Langsamkeit für vorwiegend mathematische und wissenschaftliche Anwendungen ungeeignet, das ist aber auch gar nicht ihr Verwendungszweck. JavaScript ist im Sprachstandard von HTML nicht direkt enthalten, es handelt sich um eine eigenständige Programmiersprache. Die Sprache wird jedoch heutzutage von fast allen Browsern mehr oder weniger vollständig und korrekt interpretiert. JavaScript ist eine Scriptsprache, die im Gegensatz zu PHP oder ASP auf der Clientseite abgearbeitet wird. In PHP oder ASP wird der Scriptcode vom Server interpretiert und das Ergebnis wird als HTML-Seite an den Client (Browser) gesandt. 1.2 Wo steht JavaScript im HTML-Text ? Der Programmcode von Javascript steht am besten zwischen den beiden head-Tags, also im Kopf des Dokumentes. Folgendes einfaches Beispiel zeigt dies: <html> <head> <title> Javascript-Beispiel 1 </title> <script language="JavaScript"> <!— HTML-Kommentar für Browser, die JavaScript nicht interpretieren können // JavaScript-Kommentar bis zum Ende der Zeile function dialog() { alert("Das erste JavaScript-Beispiel!"); } //--> </script> </head> <body onload="dialog()" > </body> </html> Das script-Tag klammert einen JavaScript-Programmcode ein, als Attribut wird zum Beispiel die Sprache des Skriptes angeben (in unserem Fall JavaScript). Es soll Browser geben, die JavaScript nicht verstehen (=interpretieren können), also wird der JavaScript-Programmcode in einen HTML- Kommentar eingebaut! Das HTML-Kommentar beginnt mit <!-- und endet mit -->. http://www.leiserberge.at/schueler/bipr/BIPR_JG_1_Handout_22.doc Mit // beginnt eine Kommentarzeile in JavaScript. ACHTUNG: Der Kommentar geht nur bis zum Ende der Zeile! Ein Kommentar über mehrere Zeilen beginnt in JavaScript durch /* und endet mit */ meist in einer darunter liegenden Programmzeile. In JavaScript kann man eigene Funktionen definieren und aufrufen. Das Schlüsselwort, das eine Funktion kennzeichnet, heißt function. Danach kommt der Name der Funktion, hier dialog . Nach dem Namen der Funktion folgt die sogenannte Parameterliste mit runden Klammern: (), die in unserem Beispiel aber leer ist. Die geschweiften Klammern { } stehen für Anfang und Ende des Funktionskörpers. Dazwischen steht dann in JavaScript programmiert, was die Funktion machen soll. In unserem Beispiel ruft sie die Funktion alert auf und übergibt ihr als Parameter einen Text, der in „Hochkommata“ eingeschlossen ist. Die Funktion alert muss nicht von uns programmiert werden, sondern diese ist eine Funktion, die JavaScript zur Verfügung stellt. Die JavaScript-Funktion soll in unserem Beispiel beim Laden der HTML-Seite aufgerufen werden. Damit der Browser weiß, dass er das tun soll, muss das im HTML-Code der Seite angegeben sein. Die entsprechende Stelle befindet sich im öffnenden body-Tag: onload="dialog()". Das bedeutet, dass der Browser beim Ereignis onload, d.h. beim Laden der Seite, die angegebene Funktion (dialog()) ausführen soll. 1.3 Einbindung separater Dateien Will man die gleichen JavaScript-Funktionen in mehreren HTML-Seiten verwenden oder werden die Scripte größer, sollte der Quelltext wegen besserer Übersichtlichkeit in einer oder mehreren separaten Dateien ausgelagert werden: <html> <head> <title>Hello World</title> <script type="text/javascript" src="helloworld.js"> </script> </head> <body> </body> </html> Nun muss allerdings eine separate Datei, welche bei unserem Beispiel im selben Ordner wie die HTML-Datei liegt, mit dem Namen "helloworld.js" angelegt werden. Diese enthält in unserem Fall nur einen Befehl: alert("Hello World"); 1.4 Debugging (Fehlersuche) Sollte es vorkommen, dass im Programmcode irgendwelche Fehler enthalten sind und im Browser „nichts passiert“, muss man das Debugging im Browser aktivieren, damit zumindest (oft in einem eigenen Browserfenster) die Zeilennummer des Programmcodes, wo der Fehler auftritt, und die Art des Fehlers ausgegeben werden. http://www.leiserberge.at/schueler/bipr/BIPR_JG_1_Handout_22.doc