JavaScript – M+T Pocket . Das Programmier-Handbuch (Office Einzeltitel) [Taschenbuch]

2
Was ist JavaScript?

Wie der Buchtitel unschwer erkennen lässt, ist das Thema
dieses Buchs JavaScript. Dabei handelt es sich um eine

plattformunabhängige,

offene,

leistungsfähige,

einfach zu erlernende,

fast überall im Internet unterstützte,

in Klartext notierte

Scriptsprache zur Programmierung von aus HTML (HyperText
Markup Language) aufgebauten Webseiten bzw. deren interpretierenden Programmen
oder sonstiger Programme mit JavaScript-Interpreter (etwa Webserver). Dabei
muss zu dem Begriff Klartext gleich eine Bemerkung vorangestellt werden:
JavaScript-Klartext basiert in der Version 1.5 (oder genauer – der
zugrundeliegenden ECMA-262-Norm) nicht mehr auf dem 8-Bit-ASCII-Code (wie in
früheren Versionen), sondern den 16-Bit-Unicode-Zeichensatz. Damit können
zusätzlichen Zeichen kodiert werden, die nicht im lateinischen/englischen
Alphabet enthalten sind. Zeichenketten nehmen zwar doppelt soviel Platz ein,
jedoch wird die Internationalisierung leichter. Die Unicode-Spezifikation ist
noch lange nicht vollständig mit Zeichen belegt. Grundsätzlich bedeutet die
Arbeit mit Unicode sowieso keine große Aufmerksamkeit oder Umstellung. Die
ersten 256 Zeichen entsprechen dem normalen ASCII-Zeichensatz (Byte 1 ist auf 0
gesetzt) und man kann einfach wie bisher mit einem ASCII-Editor
JavaScript-Quelltext erstellen. Eine ASCII-Codierung von JavaScript-Code wird
durch interpretierende Programme, die Unicode verarbeiten, einfach durch eine
kanonische Übersetzung (d.h. Reihenfolge und Anordnung der ASCII-Codierung ist
auch in der neuen Codierung als Block wiederzufinden) mit Voranstellen der
Zeichenfolge u und
folgender vierstelliger Hexadezimalzahl automatisch in das dazu passende
Unicode-Zeichen übersetzt. Dies definiert in JavaScript eine Art
Escape-Sequenz, mit der alle Unicode-Zeichen verschlüsselt werden können.
Sobald die Unicode-Sequenz beendet ist, werden die folgenden Zeichen nahtlos
angefügt.

In diesem ersten Kapitel werden nun einige JavaScript-Beispiele
vorgestellt, ohne grundlegende Details lange voranzustellen. Das erzwingt zwar
die Lösung des gleichen Problems, das sich bei der Frage nach der Henne und dem
Ei stellt[1],
ist aber sicher sinnvoll, um Motivation aufzubauen und gleich wichtige Aspekte
von JavaScript zu zeigen.

JavaScript (in der Betaversion noch LiveScript genannt) wurde in Zusammenarbeit von Sun Microsystems (http://www.sun.com)
und Netscape (http://www.netscape.com) entwickelt und
sollte ursprünglich als Steuerungstechnik für den Browser Netscape Navigator
2.0 agieren. Im Dezember 1995 wurde JavaScript im Web eingeführt und hatte dort
schnell riesigen Erfolg. Hier ist eine knappe Chronologie von JavaScript:

Datum

Ereignis

18. September 1995

Netscape veröffentlicht eine Vorabversion des Browsers
Navigator 2.0 mit erster Scriptfähigkeit über LiveScript. Der Name ist zuerst
an andere Netscape-Produkte (LiveWire, LiveAudio etc.) angelehnt.

4. Dezember 1995

Umbenennung von LiveScript in JavaScript.

5. März 1996

Der Netscape-Enterprise-Server 2.0 erscheint als erster
JavaScript-fähiger Server.

29. April 1996

Erste Betaversion des Netscape Navigator 3.0. Mit dem
Browser wird eine neue Version von JavaScript (die Version 1.1) eingeführt.
Diese beinhaltet umfangreiche Änderungen am Sprachkern und dem Document
Object Model. Die wahrscheinlich wichtigste Erweiterung ist die Einführung
der LiveConnect-Schnittstelle zur direkten Kommunikation zwischen JavaScript,
Java und Plug-Ins.

Mai 1996

Eine Betaversion des Internet Explorer 3 von Microsoft
erscheint. Dieser ist nun auch im Prinzip JavaScript-fähig, darf aber aus
lizenzrechtlichen Gründen dies nur über eine neue Sprache (JScript) realisieren. JScript entspricht zu diesem Zeitpunkt ungefähr JavaScript 1.0. Um eine echte Konkurrenz zu
JavaScript zu bieten, stellt Microsoft eine zusätzliche Scriptingsprache
(VBScript) im Internet Explorer 3 bereit.

15. November 1996

Netscape und die ECMA (http://www.ecma.ch/)
beschließen, JavaScript zu standardisieren. Daraus entsteht ECMAScript, was der Name für durch das TC39-Kommitte der ECMA standardisierte JavaScript ist
und im Juni 1997 in der ersten Version freigegeben wird. Alle neueren
JavaScript-Versionen versuchen (offiziell!) mit ECMAScript soweit wie möglich
kompatibel zu sein. Die 1961 gegründete internationale Industrievereinigung
Organisation ECMA mit Sitz in Genf/Schweiz ist ein anerkanntes Mitglied der
International Organization for Standardization (ISO) und kümmert sich um die
Standardisierung von Informations- und Kommunikationssystemen.

15. Oktober 1996

Netscape kündigt eine Änderung seiner
Marketing-Strategie an und liefert den neuen Browser Navigator 4.0 nur noch
als Teil eines Internet-Gesamtpackets mit Namen Communicator aus. Mit dem Navigator 4.0 wird JavaScript 1.2 eingeführt. Im Juni 1997 erscheint aber
erst die Finalversion.

18. März 1997

Microsoft veröffentlicht unter dem Begriff DHTML
(Dynamic HTML) die Vorstellung dessen, was aus ihrer Sicht unter der
Verbindung von HTML, Scriptsprachen auf Webseite und Style Sheets zu
verstehen ist.

Juni 1997

Die ECMA veröffentlicht ihren Standard ECMA-262 unter
dem Namen ECMAScript.

1. Oktober 1997

Die Finalversion des Internet Explorers 4 wird von
Microsoft freigegeben. Der implementierte JScript-Standard entspricht
weitgehend JavaScript 1.1. Darüber hinaus beinhaltet JScript aber
Erweiterungen, was zu Kompatibilitätsproblemen zwischen dem Internet Explorer
und anderen Browsern führt.

23. Februar 1998

Der Source-Code vom Navigator wird von Netscape
freigegeben und unter dem Projektnamen Mozilla weiterentwickelt. Damit ist auch erstmals eine Implementierung von JavaScript frei verfügbar.

April 1998

Die ISO verabschiedet ECMAScript als Norm ISO/IEC
16262:1998 Information technology – ECMAScript language specification.

Juli 1998

Eine Betaversion des Communicator bzw. Navigators 4.5
wird durch Netscape veröffentlicht. Mit dieser Version des Browsers wird ein
neuer JavaScript-Standard 1.3 eingeführt. Dieser hält sich nach Aussagen von
Netscape näher am ECMAScript-Standard ist, als jede andere Umsetzung.

Juni-August 1998

Die ECMA gibt die zweite Auflage des
ECMAScript-Standards heraus, um konform zu ISO/IEC 16262:1998 zu sein.

Oktober 1998

Netscape stellt JavaScript 1.4 vor. Dieser Standard
beinhaltet ein Behandlungskonzept für so genannte Exceptions (Ausnahmen), die
neuen Operatoren in
und instanceof,
Veränderungen im Rahmen von LiveConnect zur Verbindung von JavaScript, Java
und Plug-Ins sowie Veränderungen beim Objekt Function. Der JavaScript-Standard 1.4
ist voll kompatibel mit dem aktuellen ECMA-262-Standard, wird aber lange Zeit
von keinem einzigen Browser umgesetzt. Genau genommen wird der
JavaScript-Standard 1.4 sogar in der Zukunft gar nicht richtig umgesetzt,
denn die nachfolgenden Browser richten sich nach der ECMAScript-Editon 3.

Dezember 1999

Die dritte Version des ECMAScript-Standards (entspricht
JavaScript 1.5) wird freigegeben. Der neue Standard beinhaltet reguläre
Ausdrücke, wie sie aus Perl etabiliert sind, verbessertes Handling von
Strings, neue Kontrolanweisungen, ein try/catch- Exception-Handling, wie es
aus Java bekannt ist, erweiterte Fehlerdefinitionen, Formatierungen für
nummerische Ausgaben und einige weitere kleinere Erweiterungen im Rahmen der
Internationalisierung.

April 2000

Netscape gibt die Preview Release 1 vom Navigator 6
heraus, dem bald die Finalversion folgt. Dieser Browser implementiert mit
JavaScript 1.5 die neue Version von JavaScript, während der parallel dazu
aktuelle Microsoft Internet Explorer 5.5 eine JScript-Version beinhaltet, die
ungefährt JavaScript 1.4 entspricht. Der Internet Explorer 5.5 unterstützt
darüber hinaus auch einige Features von JavaScript 1.5, weshalb er eigentlich
JavaScript 1.5 näher ist.

2001

JavaScript 2.0 und entsprechende neue ECMA-Standards
werden diskutiert. Insbesondere werden die Erstellung und Verwendung von
Scripten über das Internet sowie die Koordination mit anderen Standardgremien
wie dem World Wide Web Consortium und dem Wireless Application Protocol Forum
vorangetrieben.

Tabelle 2.1: Chronologie von JavaScript

Grundsätzlich handelt es sich bei den so genannten
Scriptsprachen (JavaScript oder auch Microsofts VBScript) um
Interpretersprachen von relativ einfacher Struktur. Scriptsprachen müssen als
Interpretersprachen in irgendeinen Interpreter implementiert werden, damit sie
zu Leben erwachen. Das ist beispielsweise über einen scriptfähigen Browser
gewährleistet, wenn man ein Web-Script in ein HTML-Gerüst einbindet. JavaScript
ist so als eine unmittelbare Ergänzung und Erweiterung zu HTML zu sehen und nur
als eingebundener Bestandteil eines HTML-Gerüsts zu verwenden. Webscripte
werden als Klartext in eine Webseite direkt notiert oder hinzugebunden und zur
Laufzeit interpretiert.