11.3.4) Grundlegende Sprachelemente

JavaScript in HTML verwenden

JavaScript direkt einbinden

Beispiel: javascript-test.html

javascript-test.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html lang="de">
<head>
  <title>JavaScript-Test</title>
  <meta http-equiv="Content-script-type" content="text/javascript">
</head>
<body>
    <script type="text/javascript">
      document.write("Teste generell auf JavaScript ... Ok!<br>")
    </script>
    <noscript>
    Ihr Browser versteht kein JavaScript! Es kann nicht ausgeführt werden!
    </noscript>
    <script language="javascript1.1">
      document.write("Teste auf JavaScript Version 1.1... Ok!<br>");
    </script>
 
    <script language="javascript1.2">
      document.write("Teste auf JavaScript Version 1.2... Ok!<br>");
    </script>
    <script language="javascript1.3">
      document.write("Teste auf JavaScript Version 1.3... Ok!<br>");
    </script>
    <script language="javascript1.4">
      document.write("Teste auf JavaScript Version 1.4... Ok!<br>");
    </script>
    <script language="javascript1.5">
      document.write("Teste auf JavaScript Version 1.5... Ok!<br>");
    </script>
    <script type="text/javascript; version=1.6">;
      document.write("Teste auf JavaScript Version 1.6... Ok!<br>");
    </script>
    <script  type="text/javascript; version=1.7">;
      document.write("Teste auf JavaScript Version 1.7... Ok!<br>");
    </script>
 
    <script type="text/javascript; version=1.8">;
      document.write("Teste auf JavaScript Version 1.8... Ok!<br>");
    </script>
</body>
</html>

JavaScript durch externe Datei einbinden

Beispiel: javascript.js

document.write('Ich befinde mich in einer externen Datei.');

JavaScript innerhalb von HTML-Tags

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: ausfuehrungsreihenfolge.html

ausfuehrungsreihenfolge.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html lang="de">
<head>
  <title>Ausführungsreihenfolge von JavaScript</title>
    <script type="text/javascript">
      document.write("Ausgabe aus dem Kopfbereich!<br>");
 
      function zeigeInfo()
      {
        document.write("Sie haben die Funktion zeigeInfo aufgerufen.");
      }
    </script>
</head>
<body>
  <noscript>
     Ihr Browser versteht kein JavaScript.
  </noscript>
  <script type="text/javascript">
    document.write("Ausgabe aus dem Rumpfbereich!<br>");
  </script>
 
  <br>
  <a href="javascript:zeigeInfo();">Information zeigen</a>
</body>
</html>



Allgemeine Notationsregeln

Anweisungen

Kommentare



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.



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.



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

Beispiel: variablen.html

variablen.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html lang="de">
  <head>
    <title>Der erste JavaScript-Test</title>
  </head>
  <body>
    <script type="text/javascript">
      // Wenn Sie die Kommentarzeichen entfernen, wird ein Laufzeitfehler erzeugt und
      // die folgenden Ausgaben werden nicht mehr durchgeführt.
 
      // i;
      j = 10;
      var k;
      var l = 11;
 
      document.write("j hat den Wert: ", j, "<br>");
      document.write("k hat den Wert: ", k, "<br>");
      document.write("l hat den Wert: ", l, "<br>");
    </script>
  </body>
</html>

Wertzuweisungen



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.



Datentypen

Ganze Zahlen

Ganze Zahlen besitzen keine Nachkommastellen und können negative sowie positive Werte und den Wert null annehmen.

Gleitkommazahlen

Gleitkommazahlen können Nachkommastellen besitzen. Das Kennzeichen ist entweder ein Dezimalpunkt, ein Exponent oder beides.

document.write("Max: ", Number.MAX_Value);
document.write("Min: ", Number.MIN_Value);

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.

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.

Steuerzeichen in Zeichenketten

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.

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.

Arithmetische Operatoren

Arithmetische Operatoren dienen zur Berechnung eines Wertes. Dazu wird eine Operation auf einen oder mehrere Operanden angewendet.

Vergleichsoperatoren

Folgende Vergleichsoperatoren werden unterschieden:

Unterschiede zwischen == und ===

Beim strikten Vergleichsoperator === müssen Typ und Wert zusammenpassen, beim Vergleichsoperator == genügt es, wenn der Wert gleich ist.

0 == false   // true
0 === false  // false, because they are of a different type
1 == "1"     // true, automatic type conversion for value only
1 === "1"    // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false

Verknüpfungsoperator

Dieser Operator, der auch Konkatenationsoperator (engl.: concatenate = verknüpfen) genannt wird, verknüpft zwei Zeichenketten und liefert die zusammengesetzte Zeichenkette als Ergebniswert.

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.

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.

Zuweisungsoperatoren

Bedingungsoperator

Mithilfe des Bedingungsoperators können einige if-else-Anweisungen verkürzt dargestellt werden.

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.

Rangfolge der Operatoren

Die Operatoren sind in ihrer Rangordnung festgelegt und werden dementsprechend nacheinander abgearbeitet: