Paul Ferd. Siegert JavaScript()

 
Was ist JavaScript?

Was ist ECMAScript (JavaScript)?

HTML (Hypertext Markup Language), die Sprache mit der WWW-Seiten in ihrer Struktur ausgezeichtet werden, ist statisch. Das heißt, die Strukturelemente ändern sich nicht, die Seiten können auch nicht auf Eingaben des Nutzers reagieren. Der Vorteil ist, daß HTML leicht zu erlernen ist, die Seiten schnell zu verarbeiten sind und nicht abstürzen können. Letzteres war Tim Berners-Lee besonders wichtig.

Mit dem Boom des WWWs sind auch die Inhalte immer anspruchsvoller geworden. Webseiten, die auf interaktive Nutzereingaben reagieren, Datenbankabfragen, personalisierte Websites, Animationen etc. versuchen heute dem Besucher der WWW-Seite entgegenzukommen und seine Aufmerksamkeit zu erregen.

Um die notwendige Programmfunktionalität für anspruchsvolle Anwendungen in WWW-Seiten integrieren zu können, wurde JavaScript ins Leben gerufen. Wie alle Sprachen im WWW muß auch JavaScript die Voraussetzungen erfüllen, die für eine Verteilung im Internet notwendig sind:

  • Plattformunabhängigkeit
  • Basierend auf 7-bit-ASCII

JavaScript wurde Ende 1995 von Netscape zunächst unter dem Namen "LiveScript" entwickelt und seit der Version 2.0 in Netscapes Browser Navigator implementiert. Durch die große Popularität dieses Browsers verbreitete sich die Sprache schnell und wurde ständig weiterentwickelt. JavaScript ist nicht zu verwechseln mit der Sprache JAVA, die von Sun entwickelt wurde. JavaScript ist einfacher im Aufbau als Java, eingeschränkter in den Möglichkeiten und für andere Zwecke gedacht. JavaScript ist im Gegensatz zu Java eine unmittelbare Ergänzung und Erweiterung zu HTML. JavaScript bietet sich für folgende Zwecke an:

  • Animation: Mit Hilfe von JavaScript können Sie Animationen wie z.B. Marquees (Lauftexte) programmieren und in WWW-Seiten einbinden. Dabei steht Ihnen nicht nur das Anzeigefenster zur Verfügung, sondern auch Dialogbereiche des WWW-Browsers, etwa die Statuszeile.
  • Projektsteuerung: Mit Hilfe von JavaScript können Sie einige "Lücken" in HTML umgehen. So ist es mit Hilfe von JavaScript beispielsweise möglich, innerhalb eines Frame-Sets die Inhalte mehrerer Frame-Fenster gleichzeitig zu aktualisieren.
  • Dynamische WWW-Seiten: Mit Hilfe von JavaScript können Sie erreichen, daß sich WWW-Seiten während der Anzeige dynamisch verhalten. So ist es beispielsweise möglich, Hinter- und Vordergrundfarben nach dem Laden der WWW-Seite automatisch oder im Dialog mit dem Anwender zu ändern.
  • Text generieren: Mit Hilfe von JavaScript können Sie zur Laufzeit HTML-formatierten Text generieren. So ist es mit JavaScript z.B. möglich, aktuelles Datum und aktuelle Uhrzeit auszulesen und dem Anwender anzuzeigen.
  • Anwendungen: Mit Hilfe von JavaScript können Sie einfache Anwendungen programmieren. Das können z.B. wissenschaftliche oder kaufmännische Taschenrechner sein. Auch einfache Spiele sind denkbar.

Als schärfster Konkurrent auf dem Browsermarkt implementierte Microsoft dann eine eigene Scriptsprache in seinen Browser, die aus Lizenzgründen JScript genannt wurde. Beide Sprachen sind sehr ähnlich, versuchen aber immer wieder mit Weiterentwicklungen sich vom Konkurrenten abzuheben. Das gefärdet die Idee von allgemeingültigen WWW-Seiten und führt wieder zurück in die Zeiten properietärer Systeme, hemmt die Entwicklung des WWW und ist von Webseitenentwicklern kaum mehr zu bewerkstelligen.

Um diesem entgegen zu wirken wurde im Juni 1997 der Standard ECMAScript von der euröpäischen Organisation ECMA verabschiedet. Zusätzlich wurde ECMAScript 1.0 im April als internationaler Standard ISO/IEC 16262 verabschiedet. Nach diesem Standard sollten sich Netscape und Microsoft richten und es bleibt abzuwarten ob dieser Standard das Auseinanderlaufen der Versionen verhindern kann und den Webentwicklern Sicherheit gibt.

ECMAScript ist eine Interpretersprache. Das heißt der Quellcode wird erst zur Laufzeit von einem Interpreter in Maschinenbefehle umgesetzt. Der Vorteil ist, daß der Quellcode hier immer sichtbar bleibt, anders als bei Compilersprachen (wie JAVA, Pascal, C etc.), bei denen der Quellcode bereits vorher überstezt wird. Das bedeutet auch, daß der Browser, der eine HTML-Seite mit JavaScript-Befehlen erhält einen JavaScript-Interpreter eingebaut haben muß. Dadurch bleibt JavaScript unkompliziert für den Programmierer, doch kritisch für den Anwender. Das Interpretieren von Quellcode ist ungleich langsamer als das Interpretieren von compiliertem Code. Deshalb ist JavaScript nur für kleine und einfache Programmabläufe sinnvoll. Da kein Compilierungslauf und somit keine Fehlerprüfung stattfindet, gibt es bei JavaScript auch keinen Schutz vor schweren Programmfehlern, z.B. vor "Endlosschleifen", die beim Anwender zum Systemabsturz führen können.

Welche Browserversionen welche JavaScript-Versionen unterstützen, finden Sie auf dieser Übersichtsseite. Leider erfüllen beide Sprachen – JavaScript und JScript – nicht vollständig die ECMA-Norm.

In der Regel wird unter JavaScript Client-side ECMAScript verstanden. Also ein Script, das im HTML-Dokument implementiert ist und durch den Browser auf dem Client-Rechner ausgeführt wird. Daneben besteht aber auch die Möglichkeit Server-side ECMAScript zu schreiben. Änhlich CGI-Scripts generiert hier das ECMAScript meistens HTML-Code, der dann erst als statische HTML-Seite an den Client geschickt wird. Das Problem ist, das viele Provider es ablehnen serverseitige Scripts zu unterstützen.

Da auch ECMAScript sich auf 7-bit-ASCII beschränkt, benötigen Sie, wie bei HTML-Seiten oder CSS, lediglich einen ganz einfachen Texteditor zum Erstellen von ECMAScripts. Anders als bei HTML gibt es für JavaScript keinen großen Markt von Editoren und Generatoren. Viele Entwickler arbeiten ohnehin lieber im reinen Sourcetext.

Um die Weiterentwicklung der Sprache zu verfolgen und andere Informationen zu erhalten, empfehlen sich die Adressen auf der Linkliste.

Bemerkungen zum Umgang mit JavaScript

JavaScript ist im Gegensatz zu HTML keine Beschreibungssprache, sondern eine richtige Programmiersprache. In einer Programmiersprache gibt es für Anfänger viele verwirrende Elemente: Sonderzeichen, Variablen, Wenn-Dann-Anweisungen, Schleifen, Funktionen, Methoden, Parameter, Objekte, Eigenschaften und anderes mehr. Um mit diesen Elementen richtig umgehen zu können, müssen Sie lernen sich vorzustellen, was im Computer passiert, wenn der Programmcode ausgeführt wird. Das ist ein langwieriger Lernprozeß, den Anfänger nur durch viel Übung bewältigen. JavaScript ist dazu allerdings hervorragend geeignet, weil es eine vergleichsweise einfache Sprache ist, bei der viele Aufgabenbereiche einer "großen" Programmiersprache fehlen, z.B. Dinge wie Arbeitsspeicherverwaltung oder Dateioperationen. Außerdem setzt JavaScript auf einer bestimmten Umgebung auf, nämlich auf einer anzuzeigenden oder angezeigten WWW-Seite.

Bevor Sie daran gehen, neuen, eigenen JavaScript-Code zu programmieren, müssen Sie sich exakt darüber im klaren sein, welches Problem Sie damit lösen wollen. Dazu müssen Sie erst einmal wissen, was man mit HTML selbst alles machen kann, und wo die Grenzen von HTML liegen. Von JavaScript müssen Sie dann so viel wissen, daß Sie entscheiden können, ob das Problem mit JavaScript überhaupt lösbar ist. Mit JavaScript können Sie z.B. nicht die typischen Aufgaben von CGI-Scripts lösen!

Wenn Sie JavaScript für wichtige WWW-Seiten verwenden wollen, sollten Sie auf jeden Fall mehrere Browser zum Testen einsetzen. Denn leider sind die JavaScript-Interpreter der JavaScript-fähigen WWW-Browser Netscape, MS Internet Explorer und Opera sehr unterschiedlich in ihrer Leistung. Ihr Script sollte auf allen gängigen Plattformen und Versionen laufen, denn keine Firma kann es sich leisten nur für die halbe Zielgruppe zu entwickeln.

Ferner sollten Sie sich im WWW umsehen, ob es nicht schon frei verfügbare JavaScript-Beispiele gibt, die genau Ihr Problem lösen. Denn es ist immer besser, auf Code zurückzugreifen, der sich in der Praxis bereits bewährt hat, als neuen Code zu erstellen, dessen "heimliche Tücken" einem noch nicht bekannt sind. In vielen Fällen genügt es, vorhandene JavaScripts den eigenen Erfordernissen anzupassen. Dazu müssen Sie allerdings so viel von JavaScript verstehen, daß Sie genau wissen, welche Variablen oder festen Werte Sie verändern oder welche Funktion Sie ergänzen wollen.

Eine Bitte noch: stellen Sie keine WWW-Seiten mit ungeprüftem JavaScript-Code ins WWW. Für einen Anwender ist es sehr ärgerlich, wenn er Fehlermeldungen des JavaScript-Interpreters am Bildschirm erhält und in schlimmeren Fällen einen Prrogrammabsturz des WWW-Browsers oder gar einen Systemabsturz hat, was bei Online-Sitzungen besonders unangenehm ist.

Hinweise für die Praxis

Verwenden Sie für die Entwicklung ihrer Scripts unbedingt einen Browser, der die Fehlermeldungen von JavaScript anzeigen kann. Die meisten Browser sind heute dazu in der Lage.

Die Fehlermeldungen erscheinen in einem eigenen Fenster. Seit der Version 4.06 des Navigators öffnet sich nicht mehr ein eigenes Warnfenster, wenn ein Fehler auftritt. Stattdessen muß man in die URL-Zeile "javascript:" (inklusive dem Doppelpunkt) eingeben. Dann öffnet sich das Fehlerfenster. In anderen Programmen öffnet ein entsprecheder Menuebefehl das Fenster.