In JavaScript erfolgt die Deklaration von Variablen mit dem Schlüsselwort „var“ und die Wertzuweisung mit dem
Gleichheitszeichen
Mit Operatoren wie „=“, „+“, „-“, „*“ und „/“ können Berechnungen mit Variablen durchgeführt werden
Da JavaScript eine nicht typisierte Programmiersprache ist, muss der Typ bei der Deklaration einer Variablen nicht angegeben werden
In JavaScript ist es auch möglich, mehrere Deklarationen und Wertzuweisungen in einer Anweisung vorzunehmen, wobei die verschiedenen Deklarationen und
Wertzu-weisungen durch Komma getrennt werden
Datentypen sind bei JavaScript dynamisch, d. h. sie können während der Laufzeit eines Programms ihren Typ ändern
In JavaScript gibt es die Datentyen Number (Zahl), String (Zeichenkette), Boolean (true / false), Array (Feld) und
Object (Objekte mit Eigenschaften und Methoden)
Eine „switch“-Anweisung wird verwendet, um einen von mehreren Anweisungsblöcken in Abhängigkeit einer Bedingung auszuführen
Eine „switch“-Anweisung besteht dabei aus dem Schlüsselwort „switch“, dem in runden Klammern definierten „Ausdruck“ und den in geschweiften Klammern
definierten Fällen, die mit dem Schlüsselwort „case“ spezifiziert werden
Jeder Fall hat einen bestimmten Wert, auf den der Ausdruck der „switch“-Anweisung geprüft wird
Mit der JavaScript-Methode „toString()“kann einFeld in eine Zeichenkette konvertiertwerden, bei der dieeinzel-nen Elemente durch Komma getrenntaufgelistetwerden
Mit der JavaScript-Methode „join()“kann einFeld als Zeichenketteausgegeben und dafürin KlammerneinSeparator für die einzelnen Elemente
angebenwerden
Mit der JavaScript-Methode „pop()“kann dasletzte Element in einem Feld gelöscht undals Ergebnisausgegebenwerden
Mit der JavaScript-Methode „push()“kann einneues Element an das Ende eines Feldes angefügt und
die neue Länge des Feldes ausgegebenwerden
Mit der JavaScript-Methode „shift()“wird daserste Element in einem Feld gelöscht undals Ergebnisausgegeben
Mit der JavaScript-Methode „unshift()“wird einneues Element anden Anfangeines Feldeseingefügt
und die neue Länge des Feldes ausgegeben
Mit der JavaScript-Methode „splice()“können in einem Feld,an beliebiger Stelle, Elemente
hinzugefügt, ausgetauscht oder gelöschtwerden
Mit der JavaScript-Methode „concat()“könnenzwei oder mehr Feldermiteinander verbundenwerden
Mit der JavaScript-Methode „slice()“kann einTeil aus einem Feld ausgeschnittenwerden
Mit der JavaScript-Methode „sort()“könnenFeldelemente alphabetisch aufsteigend sortiertwerden
Mit der JavaScript-Methode „reverse()“kann dieReihen-folge der Elemente in einem Feld umgedrehtwerden
Mit einer Vergleichsfunktionkanninnerhalb der Sortierfunktion „sort()“ die Sortierreihenfolge
von Zahlenfestgelegt werden
Mit Hilfe der Sortierungkann auch dasMinimum und Maximum in einem Feld ermitteltwerden, indem dasFeld aufsteigend bzw. absteigend sortiertund danach daserste Element ausgegebenwird
Sollen Objekte in einem Feld sortiertwerden, mussin der Vergleichsfunktion zusätzlich das
entsprechende Attribut angegebenwerden, nachdem die Objekte sortiert werden sollen
In JavaScript gibt es einfache Datentypen und Objekte
Einfache Datentypenkönnen nureinfache Werteenthalten und
habenkeineEigenschaftenoderMethoden
Objektekönnennicht nur Werte, sondernauch Eigenschaften und Methodenhaben
Objekte können mit Objekt-Literalen, dem Schlüsselwort „new“ oder demStandard-Konstruktor
„Object()“ sowie miteigenen Objekt-Konstruktorenerstellt werden
Die Variablediebei der Erstellung eines Objektesverwendet
wird, ist genau genommen nur eineReferenz auf das Objekt
Soll ein Objektkopiertwerden, so muss das
neue Objekt ersteinmalangelegtunddann alle Werte einzeln kopiertwerden
Objekt-Eigenschaften werden verwendet, um objektspezifische Werte vorzuhalten
Objekt-Eigenschaften können geändert, hinzugefügt und gelöscht werden
Der Zugriff auf Objekt-Eigenschaften erfolgt über den Eigenschaftsnamen, der mit Punkt oder mit Anführungsstrichen in eckigen Klammern an den Objektnamen
angehängt wird
Mit einer „For...in“-Schleife kann eine Schleife über alle Eigenschaften eines Objekts realisiert werden
Einem Objekt können Objekt-Eigenschaften hinzugefügt werden, indem ihnen einfach ein Wert zugewiesen wird
Objekt-Eigenschaften können mit dem Schlüsselwort „delete“ gelöscht werden
Variablen für Zahlenkönnen alseinfache Variablen oder als Objekte definiertwerden
Wird einer Variablen eine Zahl zugewiesen, entsteht eineeinfache Variable
Wird die Variable mit „new Number()“ angelegt, wird die Variable alsObjektdefiniert
Das Number-Objekt hat die Eigenschaften„MAX_VALUE“,
„MIN_VALUE“, „NEGATIVE_INFINITY“, „POSITIVE_INFINITY“ und „NaN“, dienur mit
dem Number-Objekt selbstverwendet werden können
Das Number-Objekt hat dieMethoden„isFinite()“, „isInteger()“, „isNaN()“
und „isSafeInteger()“dienur mit dem Number-Objekt selbstverwendet werden
können
Das Number-Objekt hat dieMethoden„toExponential(x)“, „toFixed(x)“, „toPrecision(x)“, „toString()“ und „valueOf()“ die auch mit eigenen, vom Number-Objekt abgeleiteten, Objekten verwendet werden können
Variablen fürZeichenkettenkönnen alseinfache Variablen oder
als Objekte definiertwerden
Wird einer Variablen eineZeichenkettezugewiesen, entsteht
eineeinfache Variable
Wird die Variable mit „newString()“ angelegt, wird die Variable
alsObjektdefiniert
Die wichtigste Eigenschaft des „String“-Objektsist„length“,
mit der dieLänge der verwendeten Zeichenketteausgegeben werden kann
Zum Suchen von Zeichenfolgen in einer Zeichenkette, hat das „String“-Objekt die Methoden indexOf(str,x), lastIndexOf(str,x),
search(str) und match(regexp)
Zum Extrahierenvon Zeichenfolgenauseiner Zeichenkette, hat das „String“-Objekt die Methoden slice(i, j),substing(i, j), substr(i, l), charAt(i) und charCodeAt(i)
Zum Manipulieren vonZeichenketten, hat das „String“-Objekt die Methoden concat(str1, str2, …), split(tr),
replace(str1, str2), trim(), toLowerCase() und toUpperCase()
Zum Vergleichen von Zeichenketten, hat das „String“-Objekt die Methoden startsWith(str), endsWith(str), includes(str,
i) und localeCompare(str)
Zum Konvertieren und Ausgeben von Zeichenketten, hat das „String“-Objekt die Methoden repeat(n), toString() und valueOf()
Mit der globalen Methode „String()“ können verschiedene Werte in Zeichenketten konvertiert werden
Variablen fürboolesche Wertekönnen alseinfache Variablen oder
als Objekte definiertwerden
Wird einer Variablen einboolescher Wertzugewiesen, entsteht
eineeinfache Variable
Wird die Variable mit „newBoolean()“ angelegt, wird die Variable
alsObjektdefiniert
Das Boolean-Objekt hat die Methoden„toString()“ und
„valueOf()“ die auch mit eigenen, vom Boolean-Objekt abgeleiteten, Objekten verwendet werden können
Mit der globalenMethode „Boolean()“
kann geprüft werden,ob ein Ausdruck „wahr“ oder „falsch“ ist
Geltungsbereiche(engl. scope)definieren dieErreichbarkeitvonVariablen, Funktionen und Objekten
Wird eine Variable, Funktion oder ein Objekt auf oberster Ebene, d. h. nicht innerhalb einer Funktiondeklariert, sind
dieseglobalund könnenvon überall aus dem JavaScript-Code einer Seite aus erreichtwerden
Wird einer Variablen innerhalb einer Funktion ohne Deklaration ein Wert zugewiesen, ist diese automatisch auchglobal
Wird eine Variable, eine Funktion oder ein Objekt innerhalb von einer Funktion deklariert, so sind sienur lokal, d. h. innerhalb der Funktion, erreichbar
Das „Automatisches Heben“ (engl. hoisting) ist eineBesonderheit von JavaScript, bei derDeklarationen von Variablen und Funktionen automatisch an den
Anfangdes JavaScript-Codes, bzw. an den Anfang eines Funktions-blocksgeschobenwerden
Durch das „Automatischen Heben“könnenVariablen und Funktionen verwendet werden, bevor sie
deklariert werden
Bei Objektenfunktioniert das„Automatische Heben“nur
mitObjekt-Konstruktoren
Der „Strict-Mode“dient dazusicheren JavaScript-Code zu schreiben
Im „Strict-Mode“ hält der Interpreter u. a. bei der Verwendung von Variablen ohne Deklaration, beimLöschen von verwendeten Variablen, Objekten und Funktionenoder bei derDuplizierung vonFunktions-Parameternan
Mit der Direktive „use strict“wird der„Strict-Mode“ aktiviert
Die Verwendung von VariablenundObjekten ohne Deklarationist im
„Strict-Mode“ nicht erlaubt
Das Löschen vondeklariertenVariablen, Objekten und Funktionenist
im „Strict-Mode“ nicht erlaubt
Die mehrfache Verwendung von den selben Funktionsparamternist im „Strict-Mode“ nicht erlaubt
Das Verwenden von Oktalzahlen als Variablenwerte oder in Verbindung mit „Escape“-Zeichenist im „Strict-Mode“ nicht erlaubt
Das Schreiben von Werten in Eigenschaften und Methoden, die nur zur Ausgabe von Werten definiert wurden, ist im „Strict-Mode“
nicht erlaubt
Bei der Fehlerbehandlunggeht es darumFehler abzufangen und kontrolliert darauf zu
reagieren
Mit der „try“-Anweisungkann einBlock definiertwerden,
innerhalb dessen derCode auf Fehler getestet wird
Mit der „catch“-Anweisung kann ein Block definiert werden, in dem Fehler behandelt werden können, die in einem zugehörigen „try“-Block aufgetreten sind
Dem „catch“-Blockwirdein Objekt übergeben, das Informationen zum aufgetretenen Fehler enthält
Das Fehler-Objekt enthält die beiden Attribute „name“ (Fehlertyp) und „message“ (Fehlermeldung)
Mit „throw“ (engl. werfen) kann innerhalb eines „try“-Blocks ein Fehler ausgelöst (geworfen) werden
Mit „finally“ kann ein Anweisungsblock definiert werden, der auf jeden Fall ausgeführt wird, unabhängig von dem Resultat der Fehlerbehandlung mit „try“ und „catch“
Für eine bessere Lesbarkeit und Wartbarkeit des Quellcodesist es ratsam, sichbeim
Programmierenaneinheitliche Konventionenzu halten, wie z. B. Namenskonventionen und die
Verwendung von Leerzeichen und Einrückungen
Zu den bewährten Vorgehensweisen beim Programmieren zählen u. a. die Vermeidung von globalenVariablen, Deklarationen an den Anfang zu setzen und
Variablen immer zu initialisieren
Zu den häufigen Fehlern zählen u. a. die Verwendung eines Zuweisungsoperators in einem Vergleich, die Verwendung des falschenTypsinnerhalbeiner
„switsch“-Anweisung, sowie das fehlerhafte Umbrechen von Zeichenketten oder Anweisungen
Die Performance von Skripten auf Webseiten kann verbessert werden, indem die Anzahl von Anweisungen innerhalb von Schleifen reduziert, der Zugriff auf
DOM-Elemente minimiert und unnötige Variablen vermieden werden
Das Laden einer Seite kann beschleunigt werden, indem der JavaScript-Code erst geladen wird, nachdem die Seite komplett aufgebaut wurde
In allen Programmiersprachen, wie auch in JavaScript, gibt es reservierte Wörter, die nicht als Namen für eigene Variablen, Objekte und Funktionen verwendet werden dürfen
Mit Hilfe von JavaScript kann über das DOM (Document Object Model) auf einer HTML-Seite HTML-Elemente, -Attribute und -Events sowie CSS-Anweisungen
erstellt, geändert und gelöscht werden
Das BOM (Browser Object Model) ist eine Eigenschaft von Browsern, die es Scripten wie JavaScript erlaubt, mit dem Browser zu interagieren
HTML5 erweitert HTML4 um Elemente zur Audio- und Video-Wiedergabe, zur Anzeige von Vektorgraphiken sowie Funktionen wie
Positionsermittelung, Drag and Drop, lokaler Speicher, Anwendungs-Cache, Web-Worker,
Server-Sent-Events und Möglichkeiten zur Anzeige dynamischer Grafiken und Karten
JSON steht für „JavaScript Object Notation“ und ist ein textbasiertes, sprachenunabhängiges und leicht-gewichtiges Datenformat für das Speichern und
den Austausch von Daten
AJAX steht für „Asynchronous JavaScript and XML“ und ist ein Konzept zur asynchronen Datenübertragung zwischen Browser und Server