siehe Weblog-Artikel
Ein JavaScript-Programm ist nach gewissen wiederkehrenden Regeln aufgebaut. Solche Syntax-Regeln kennen Sie aus der natürlichen, zum Beispiel der deutschen Sprache. Wenn Ihr Gesprächspartner Sie verstehen soll, müssen Sie beim Formulieren eines Satzes gewisse Grundregeln der Syntax und Grammatik einhalten, damit Sie verstanden werden.
Glücklicherweise verstehen unsere Mitmenschen uns auch dann, wenn wir kleinere Fehler machen und uns nur grob an die Regeln halten. Programmiersprachen sind jedoch viel strenger: Zum einen sind ihre Regeln vergleichsweise einfach, eindeutig und lassen wenig Spielraum. Zum anderen müssen sich Programmierer an diese Regeln halten und dürfen keine Ausnahmen machen.
Dies hat folgende Bewandnis: Damit der JavaScript-Interpreter ein Programm ausführen kann, muss er zunächst dessen Syntax verstehen. Dieses Aufsplitten in die Bestandteile nennt sich Parsing. Wenn der Interpreter dabei auf einen Syntaxfehler trifft, bricht er mit einer Fehlermeldung ab und das JavaScript-Programm wird gar nicht erst ausgeführt.
Die folgende Beschreibung der JavaScript-Syntax ist sehr theoretisch und formal. Sie soll ihnen den groben Aufbau eines JavaScript-Programmes vermitteln, damit Sie wissen, welche Bestandteile an welchen Stellen vorkommen dürfen.
Vereinfachend gesagt besteht ein JavaScript-Programm aus einer Abfolge von einer oder mehreren Anweisungen, sogenannten Statements. Bei der Ausführung des JavaScripts werden die Anweisungen nacheinander abgearbeitet.
(Der Einfachheit halber rechnen wir die Funktionsdeklaration zu den Anweisungen, was der ECMAScript-Standard nicht tut. Aber Sonderfall der Funktionsdeklarationen, sie werden nicht in der Reihenfolge der anderen Anweisungen ausgeführt. Dasselbe bei Variablen-Deklarationen. TODO)
Mit einer Variablen-Deklaration wird eine Variable im aktuellen Gültigkeitsbereich erzeugt, d.h. als globale Variable oder lokale Funktionsvariable. Sie kann entweder ohne Wert instantiiert werden:
var alter;
Oder der Anfangswert kann gleich angegeben werden:
var alter = 32;
Anstelle der 32 kann ein beliebiger Ausdruck stehen. Das Schema lautet also:
var Bezeichner = Ausdruck;
Kontrollstrukturen sind Anweisungen, die wiederum Blöcke mit Anweisungen enthalten. Dazu gehört die bedingte Anweisung, auch if-Anweisung genannt.
if (alter >= 18) {
alert("Volljährig!");
} else {
alert("Noch nicht volljährig.");
}
Zwischen den runden Klammern steht ein beliebiger Ausdruck, zwischen den geschweiften Klammern eine oder mehrere Anweisungen. Das allgemeine Schema lautet:
if (Ausdruck) {
Anweisungen
} else {
Anweisungen
}
Mit der switch-Anweisung lassen sich Verzweigungen notieren, bei denen ein Wert mit vielen anderen Werten verglichen wird und eine entsprechende Anweisung ausgeführt wird.
switch (alter) {
case 10 :
alert("zehn");
case 20 :
alert("zwanzig");
}
Die meisten Anweisungen sind sogenannte Ausdruck-Anweisungen. Sie bestehen lediglich aus einem Ausdruck, und ein Ausdruck kann sehr unterschiedlich aussehen.
window.print(); alter = 18; objekt.nummer = 5; objekt.nummer++; meldung = alter >= 18 ? "volljährig" : "noch nicht volljährig"; 1 + 1;
Eine Ausdruck-Anweisung sollte immer mit einem Semikolon abgeschlossen werden.
break, return, continue usw.
Ein Ausdruck besteht aus Bezeichnern und Literalen, die mit Operatoren verknüpft werden
alter = 18
element.appendChild(element2)
objekt.nummer++
alert("Vorname: " + vorname)
Ein, zwei oder drei Operanden. Die Operanden können selbst als Ausdrücke notiert sein.
siehe Kernobjekte
siehe Kernobjekte
siehe Funktionen