0. JavaScript - Allgemeines

JavaScript ist eine imperative Sprache und befindet sich damit mit C, Java, Perl, Pascal, Delphi, Kylix, Fortran oder Basic in guter Gesellschaft. Außerdem bietet sie wie auch C++, Java, Perl, sowie verschiedene Pascal- und Basic- Dialekte die Möglichkeit der objektorientierten Programmierung. Genau genommen läuft ohne die Nutzung der objektorientierten Spracheigenschaften herzlich wenig. Wenn man auch nicht unbedingt eigene Objekte kreieren muß, ist man doch in den meisten Fällen auf die Benutzung vordefinierter Objekte angewiesen.

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 vorcompiliert und dann interpretiert, das macht die Programme langsamer als solche, die in das Binärformat des jeweiligen Betriebssystems compiliert werden. Dafür aber ist JavaScript Betriebssystem- und in gewissen Grenzen Browser-unabhängig. 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.

Browser, die in der aktuellen Version vernünftige JavaScript-Maschinen enthalten, sind beispielsweise
- Netscape Navigator
- Opera
- Konqueror (nur für Linux / KDE)
- Microsoft Internet Explorer (nur für Microsoft Windows)

Mancher Browser stellt zur Analyse für Entwickler eine JavaScript-Konsole bereit.

JavaScript wurde von Netscape entwickelt und lizensiert. Mit dem Netscape Navigator 2.0 wurde die Sprachversion 1.0 eingeführt.

JavaScript-Funktionalität lässt sich sowohl innerhalb von HTML-Dateien als auch in separaten Dateien definieren.

Obwohl JavaScript eine eigenständige Programmiersprache darstellt, ist sie doch nur als dynamische Erweiterung von HTML wirklich sinnvoll, also an den Einsatz auf WebSeiten gebunden. Sie ist also eine Umsetzung von DynamicHTML, und zwar die derzeit und wohl auch in Zukunft am weitesten verbreitete.

DynamicHTML ist eine Erfindung von Marktstrategen und ermöglicht es dem Autor von HTML-Seiten, Inhalte von HTML-Seiten automatisch oder als Reaktion von Benutzereingaben zu verändern. Das reicht von der Erstellung netter aber im Grunde nutzloser Animationen durch Austauschen von Bildern oder Verschieben von Bildschirmelementen über den Austausch des Inhaltes von Textfeldern bis zum automatischen Generieren von Abschnitten in HTML-Seiten, wie wir es beispielsweise von verschiedenen Pizzadiensten kennen.

Die besten und informativsten Web-Seiten sind jedoch immer noch die, die auf DynamicHTML verzichten. Durch DynamicHTML kommt man als Autor sehr schnell in Versuchung, den Betrachter mit Reizen sinnlos zu überfluten. Häufig verkommen die damit erzielten Effekte zur bloßen Angeberei und Effektehascherei.

Wie bei allen Programmieraufgaben sollte man auch bei JavaScript auf maximale Kompatibilität achten. Wie schon erwähnt, kann man mit JavaScript Betriebssystem- und Browserunabhängig programmieren. Man muß aber nicht. Es gibt viele Fußfallen, die den ambitionierten Effektehascher dazu verleiten, proprietäre Microsoft- oder Netscape-Sprachelemente zu verwenden. Häufig ist zu beobachten, daß gut gemeinte JavaScript-Spielereien an bestimmten Browsern nicht laufen. Häufig sehen HTML-Seiten mit verreckten Scripten nur fade und bemitleidenswert aus, weil Autoren entweder nur für den Microsoft Internet Explorer oder nur für den Netscape Navigator entwickeln und ihre Scripte nicht mit anderen Browsern testen.

Autor: Ulrich Kritzner