====== JavaScript - Grundlegende Sprachelemente ======
===== JavaScript in HTML verwenden =====
=== JavaScript direkt einbinden ===
{{:inf:js:einbindendirekt1.gif|}}
**Beispiel: [[http://elearn.bgamstetten.ac.at/wiki/addons/JS/javascript-test.html|javascript-test.html]]**
JavaScript-Test
=== JavaScript durch externe Datei einbinden ===
{{:inf:js:einbindenextern1.gif|}}
**Beispiel: [[http://elearn.bgamstetten.ac.at/wiki/addons/JS/javascript.js|javascript.js]]**
document.write('Ich befinde mich in einer externen Datei.');
=== JavaScript innerhalb von HTML-Tags ===
{{:inf:js:einbindentags1.gif|}}
{{:inf:js:einbindentags2.gif|}}
===== Ausführungsreihenfolge =====
JavaScript-Anweisungen werden in der Reihenfolge ausgeführt, in der sie in einem HTML-Dokument verwendet
werden. Dadurch werden JavaScript-Anweisungen, die im Kopfbereich eines HTML-Dokuments
eingebunden werden, vor JavaScript-Anweisungen im Rumpfbereich ausgeführt.
Ausgaben, die direkt Dokument ausgeführt werden, erscheinen beim Laden des HTML-Dokuments an der entsprechenden Stelle.
**Beispiel: [[http://elearn.bgamstetten.ac.at/wiki/addons/JS/ausfuehrungsreihenfolge.html|ausfuehrungsreihenfolge.html]]**
Ausführungsreihenfolge von JavaScript Information zeigen
\\ \\
===== Allgemeine Notationsregeln =====
==== Anweisungen ====
{{:inf:js:anweisung1.gif|}}
==== Kommentare ====
{{:inf:js:kommentar1.gif|}}
\\ \\
==== Reservierte Wörter ====
Reservierte Wörter, auch Schlüsselwörter genannt, sind feste, vorgegebene Wörter, die der Sprache JavaScript
entstammen. Da jedes reservierte Wort eine feste, vorgegebene Bedeutung besitzt, dürfen diese nicht als
Namen von Variablen verwendet werden. Die folgende Übersicht enthält alle reservierten Wörter von JavaScript.
{{:inf:js:reserviertewoerter1.gif|}}
\\ \\
==== Bezeichner ====
Bezeichner benennen unter anderem Konstanten, Variablen und Funktionen in JavaScript-Programmen. Bei
der Programmierung über einen Bezeichner auf diese Elemente zugegreifen werdeb. Ein Bezeichner wird
vom Programmierer festgelegt.
{{:inf:js:bezeichner1.gif|}}
\\ \\
==== Variablen ====
Variablen können während der Programmausführung unterschiedliche, veränderbare Werte annehmen, wie
z. B. Zwischen- oder Endergebnisse aus Berechnungen. Für jede Variable wird ein Speicherplatz im Arbeitsspeicher
Ihres Computers reserviert.
=== Beispiel für die Definition von Variablen ===
{{:inf:js:variablen1.gif|}}
**Beispiel: [[http://elearn.bgamstetten.ac.at/wiki/addons/JS/variablen.html|variablen.html]]**
Der erste JavaScript-Test
==== Wertzuweisungen ====
{{:inf:js:variablen2.gif|}}
\\ \\
==== Konstanten ====
Konstanten enthalten während der Programmausführung immer einen unveränderlichen Wert. Es lässt sich
also keine zweite Wertzuweisung an eine Konstante vornehmen, nachdem sie initialisiert wurde.
{{:inf:js:const1.gif|}}
\\ \\
===== Datentypen =====
==== Ganze Zahlen ====
Ganze Zahlen besitzen keine Nachkommastellen und können negative sowie positive Werte und den Wert
null annehmen.
{{:inf:js:datentypganzezahl1.gif|}}
==== Gleitkommazahlen ====
Gleitkommazahlen können Nachkommastellen besitzen. Das
Kennzeichen ist entweder ein Dezimalpunkt, ein Exponent oder
beides.
{{:inf:js:datentypgleitkommazahl1.gif|}}
document.write("Max: ", Number.MAX_Value);
document.write("Min: ", Number.MIN_Value);
{{:inf:js:gleitkomma2.gif|}}
==== Zeichenketten ====
Eine Zeichenkette (String) ist eine Folge von Zeichen, die in einfache oder doppelte Anführungszeichen eingeschlossen
ist. Es ist jedoch zu beachten, dass gleiche Arten von Anführungszeichen verwendet werden.
{{:inf:js:datentypzeichenkette1.gif|}}
Der wichtigste Unterschied zwischen Zeichenketten und numerischen Werten liegt in der Funktion der Operatoren.
Die Elemente einer Zeichenkette können nicht arithmetisch miteinander verknüpft werden. Bei ganzen
Zahlen und Gleitkommazahlen entspricht das Zeichen ''+'' der mathematischen Addition. Werden zwei Zeichenketten
mit dem Zeichen ''+'' verknüpft, werden sie zu einer Zeichenkette zusammengefasst. In allen anderen
mathematischen Operationen werden die Zeichenketten als Zahlenwerte interpretiert. Können
Zeichenketten nicht in einen Zahlenwert umgewandelt werden, liefert die Berechnung den Wert ''NaN ''(not a
number = keine Zahl) zurück.
{{:inf:js:zeichenketten1.gif|}}
==== Steuerzeichen in Zeichenketten ====
{{:inf:js:steuerzeichen1.gif|}}
==== Boolesche Werte (Wahrheitswerte) ====
Die booleschen Werte sind true (wahr) und false (falsch). Wahrheitswerte werden eingesetzt, wenn ein
Wert nur zwei Zustände annehmen kann, z. B. Licht an oder Licht aus. Ausdrücke geben häufig einen booleschen
Wert zurück, z. B. beim Vergleichen von Zahlen. Der Vergleich 2 > 3 liefert das Ergebnis false, weil
die Zahl 2 nicht größer ist als 3.
{{:inf:js:boolschewerte1.gif|}}
==== Objekte ====
Objekte sind Datenelemente, die Eigenschaften und objektgebundene Funktionen (Methoden) besitzen können.
In JavaScript werden Ihnen vordefinierte Objekte angeboten, um auf verschiedene Elemente einer Webseite
zuzugreifen, z. B. auf ein Eingabefeld eines Formulars.
Jedes einzelne Objekt enthält Eigenschaften, die Sie auslesen können, z. B. die Adresse der geladenen Webseite oder den Namen des Fensters. Außerdem erlauben Ihnen die Objektmethoden das Ändern der Objekteigenschaften.
So können Sie beispielsweise den Inhalt eines Eingabefeldes ändern.
===== Operatoren =====
Operatoren sind Zeichen, die verwendet werden, um Berechnungen durchzuführen oder Verknüpfungen und
Vergleiche zwischen Variablen herzustellen.
Eine Operation arbeitet mit einem oder zwei Operanden. Entsprechend wird von unären oder binären Operatoren
gesprochen. Ein Operator erzeugt immer einen Ergebniswert. Manche Operatoren können nur in Verbindung
mit Variablen eines bestimmten Datentyps eingesetzt werden.
{{:inf:js:operatoren1.gif|}}
==== Arithmetische Operatoren ====
Arithmetische Operatoren dienen zur Berechnung eines Wertes. Dazu wird eine Operation auf einen oder
mehrere Operanden angewendet.
{{:inf:js:operatoren2.gif|}}
{{:inf:js:operatoren3.gif|}}
==== Vergleichsoperatoren ====
Folgende Vergleichsoperatoren werden unterschieden:
{{:inf:js:vergleichsoperatoren1.gif|}}
{{:inf:js:vergleichsoperatoren2.gif|}}
==== Verknüpfungsoperator ====
Dieser Operator, der auch Konkatenationsoperator (engl.: concatenate = verknüpfen) genannt wird, verknüpft
zwei Zeichenketten und liefert die zusammengesetzte Zeichenkette als Ergebniswert.
{{:inf:js:verknuepfungsoperatoren1.gif|}}
==== Logische Operatoren ====
Im Gegensatz zu den Vergleichsoperatoren werden mit den logischen Operatoren die booleschen Wahrheitswerte
true und false miteinander verknüpft. Der Ergebniswert eines logischen Ausdrucks besteht aus
einem booleschen Wert.
{{:inf:js:logischeoperatoren1.gif|}}
==== Bit-Operatoren ====
Bit-Operatoren werden auf Zahlen und boolesche Werte angewendet, die entsprechend ihrer binären Darstellung
verknüpft werden (die Bits können z. B. für bestimmte Eigenschaften stehen). Die booleschen Werte
true und false entsprechen dabei den Werten 1 und 0.
{{:inf:js:bitoperatoren1.gif|}}
{{:inf:js:bitoperatoren2.gif|}}
==== Zuweisungsoperatoren ====
{{:inf:js:zuweisungsoperatoren1.gif|}}
{{:inf:js:zuweisungsoperatoren2.gif|}}
==== Bedingungsoperator ====
Mithilfe des Bedingungsoperators können einige if-else-Anweisungen verkürzt dargestellt werden.
{{:inf:js:bedingungsoperator1.gif|}}
==== Typenkonvertierung und typeof-Operator ====
JavaScript ist keine streng typisierte Sprache. Der Interpreter wandelt Operanden automatisch in die entsprechenden
Datentypen um, damit eine Operation richtig ausgeführt wird.
{{:inf:js:typkonvertierung.gif|}}
{{:inf:js:konvertierung1.gif|}}
{{:inf:js:konvertierung2.gif|}}
==== Rangfolge der Operatoren ====
Die Operatoren sind in ihrer Rangordnung festgelegt und werden dementsprechend nacheinander abgearbeitet:
{{:inf:js:rangfolgeoperatoren1.gif|}}
{{:inf:js:rangfolgeoperatoren2.gif|}}