Skip to main content

JavaScript


PDF herunterladen

Was ist JavaScript?

JavaScript ist eine verbreitete Programmiersprache. Sie wird vor allem genutzt, um dynamische Elemente in Webseiten einzubinden. Dies können aufklappbare Menüs oder Popup-Fenster sein. Ebenso nutzen Webentwickler die Funktionen häufig, um Eingaben von Benutzern zu verarbeiten. In Formularfeldern kann etwa mithilfe der Programmiersprache geprüft werden, ob fehlerhafte oder unlogische Eingaben gemacht wurden.

Üblicherweise wird JavaScript gemeinsam mit der Beschreibungssprache HTML und der Stylesheet-Sprache CSS verarbeitet. HTML sorgt dabei für den Aufbau des Grundgerüsts der Webseite, mittels CSS erfolgt die Formatierung.

Entstehung von JavaScript

Die Programmiersprache JavaScript wurde bereits 1995 veröffentlicht. Entwickler war die Firma Netscape, die Mitte der Neunzigerjahre den seinerzeit sehr bekannten Browser Netscape Navigator vertrieb. Später ging dieser, wie auch die Programmiersprache, in das Projekt Mozilla Firefox über. Anfangs wurde noch der Name LiveScript verwendet. Um von der Popularität der damals schon sehr bekannten Programmiersprache Java zu profitieren, erfolgte dann aber die Umbenennung in JavaScript.

Der US-amerikanische Programmierer Brendan Eich war im Rahmen seiner Tätigkeit für Netscape maßgeblich für die Entwicklung von JavaScript verantwortlich. Der Sprachkern wird bis heute weiterentwickelt. Inzwischen erfolgt dies gemäß des Standards ECMAScript.
Die Verwendung unterliegt keinen Einschränkungen, da die Sprache unter der Open-Source-Lizenz BSD veröffentlicht wurde.

Funktionsweise und Merkmale von JavaScript

Grundsätzlich handelt es sich bei JavaScript um eine vollwertige Programmiersprache. Der Anwendungsbereich ist allerdings auf die Webentwicklung beschränkt. Aus diesem Grund wird beispielsweise zur Erhöhung der Sicherheit auf die Funktion verzichtet, Dateien auf dem PC zu bearbeiten.

Erstellte Programme müssen nicht in Maschinensprache übersetzt werden. Webentwickler können sie einfach als Text in ihre Webseiten einbetten. Die Interpretation erfolgt dann üblicherweise zur Laufzeit durch den Browser. Zudem gibt es inzwischen auch die Möglichkeit, JavaScript-Elemente auf Servern ausführen zu lassen.

Die Einfachheit in der Handhabung ist ein großer Vorteil dieser Programmiersprache. Sie funktioniert plattformübergreifend in nahezu allen aktuellen Browsern wie z.B.:

  • Mozilla Firefox,
  • Microsoft Edge,
  • Google Chrome,
  • Opera,
  • Apple Safari.

Anwender müssen vorher keine Laufzeitumgebungen oder Interpreter-Software installieren, wie dies etwa bei Java und Python der Fall ist.

Auch für Anbieter von Webseiten bietet dieses Konzept Vorteile. Sie benötigen auf ihren Servern keine zusätzlichen Module für die Ausführung von Skripten. Dies ist bei den Skriptsprachen PHP und Python hingegen notwendig und verteuert üblicherweise den Webspace beim Anbieter.

Clientseitige Anwendung

Mit der clientseitigen Anwendung ist gemeint, dass der Code nur lokal auf dem PC des Anwenders ausgeführt wird. Dies bedeutet, dass dynamisch auf Eingaben reagiert werden kann, ohne Inhalte aus dem Internet nachladen zu müssen. So lassen sich mit JavaScript Aktionen hinterlegen, die ausgeführt werden, wenn ein bestimmter Bereich mit dem Mauszeiger berührt wird. Bei einer Formulareingabe kann auf diese Weise vor dem Absenden geprüft werden, ob alle notwendigen Felder ausgefüllt sind und etwa eine Mailadresse korrekt formatiert wurde.
Auch bei Browser-Spielen erzielt man auf diese Weise eine bessere Reaktionszeit und vermeidet etwa ein Stocken des Programms durch Übertragungsschwierigkeiten.

Serverseitige Anwendung

Gewisse Funktionen können nur zentral vom Server im sogenannten Backend verwaltet werden. Naheliegend sind etwa folgende Anwendungsfälle:

  • Authentifizierung von Nutzern durch Benutzername und Passwort,
  • Ablage von Nutzereingaben in zentralen Datenbanken,
  • Berechtigungen von Nutzern verwalten,
  • Weiterverarbeitung von Daten, etwa aus Bestellprozessen,
  • Bereitstellung von angefragten dynamischen Inhalten.

Hierfür bietet JavaScript Server-Module zur Erweiterung der ursprünglichen lokalen Möglichkeiten.
Zu den bekanntesten Erweiterungen gehört Node.js. Hierbei handelt es sich um eine Laufzeitumgebung, mit der auch komplexe Routinen umgesetzt werden können. Hierzu zählen etwa aufwändige Content Management Systeme (CMS) und Webapps für Cloud-Plattformen wie Microsoft Azure. Einen Geschwindigkeitsvorteil hat Node.js gegenüber anderen Lösungen durch die asynchrone und parallele Ausführung von Ein- und Ausgaben zwischen Server und Client.

Eine Alternative ist das in Python geschriebene Webframework Django. Dieses bietet ebenso die Anbindung an Datenbanken wie MySQL, Oracle oder SQLite. Insbesondere können hiermit Serverinhalte effektiver verwaltet und dynamisch zur Verfügung gestellt werden.

Sicherheitsaspekte von JavaScript

Der Nachteil des Prinzips, unbekannten Programmcode aus dem Internet herunterzuladen und auf dem eigenen PC auszuführen, ist die fehlende Kontrolle über den Programmablauf. Dies kann zu Sicherheitsproblemen führen. Harmlos, aber lästig sind beispielsweise Popup-Fenster, die oft für Werbeeinblendungen genutzt werden.
Ein konzeptionelles Risiko bleibt, dass JavaScript-Code ohne aktives Zutun des Nutzers ausgeführt werden kann. Für Angreifer ist JavaScript interessant, da es auf sehr vielen Systemen im Internet lauffähig ist.

Andererseits gilt JavaScript immer noch als eine der sichereren Alternativen zur Ausführung von dynamischen Inhalten. Adobe Flash und Java-Plugins haben einen weit schlechteren Ruf, was die Verwundbarkeit angeht.
Zudem sorgen sogenannte Sandbox-Konzepte von Browsern wie Google Chrome für Sicherheit. Diese beschränken die Einflussmöglichkeit des aufgerufenen Programms beispielsweise auf das aktuelle Browserfenster.
JavaScript komplett im Browser zu deaktivieren, dürfte in vielen Fällen dazu führen, dass Webseiten nicht mehr wie gewünscht funktionieren.

Syntax und Einbindung in HTML

Von der äußeren Form her erinnern die Syntax-Regeln von JavaScript an C und an Java.
Charakteristisch sind die Klammerung von Bedingungen und das Markieren von Anweisungsblöcken mittels geschweifter Klammern.
Eine If-Else-Schleife zum Prüfen von Bedingungen wird vereinfacht wie folgt gebildet:

if (BEDINGUNG){
ANWEISUNG;
}
else{
ALTERNATIVE ANWEISUNG;
}

Javascript-Dateien erhalten die Endung “js”. Eine solche Datei kann wiederum in HTML durch die
Script-Tags eingebunden werden.

Alternativ lässt sich Code auch direkt in Script-Tags ausführen.
Die Besonderheit dabei ist, dass durch das sogenannte Document Object Model (DOM) die eigentlich starren Elemente von HTML flexibel verarbeitet werden können. Es ist damit möglich, Elemente ein- und auszublenden und Inhalte zu verändern.

Entwicklung und Ausblick

Die Unterstützung aller gängigen Browser für JavaScript deutet auf eine Zukunftssicherheit für Entwickler hin. Im Tiobe-Index wird JavaScript seit längerer Zeit auf Rang sieben geführt. Andere Rankings wie RedMonk führen die Programmiersprache zwischenzeitlich gar auf Platz 1.
Zudem erfolgt durch die Anbindung an den ECMAScript-Standard eine beständige Weiterentwicklung.

Jetzt den SEO-Küche-Newsletter abonnieren

Ähnliche Artikel

Netzwerk

Was ist ein Netzwerk? Der Begriff Netzwerk kommt vorwiegend in der Informationstechnologie zur Anwendung und dient hier als Bezeichnung für Rechner und andere elektronische Geräte, die miteinander verbunden (vernetzt) sind. Um ein Netzwerk zu bilden, sind immer mindestens zwei Computersysteme nötig. Diese können entweder über ein Kabel (Ethernet- bzw. Netzwerkkabel) oder drahtlos […]

Key Performance Indicator (KPI)

In der Betriebswirtschaftslehre wird unter Key Performance Indicator (KPI) eine Kennzahl verstanden, die als Leistungsindikator dient. Mit einem KPI lässt sich der Erfolg einer Maßnahme bzw. der Erfüllungsgrad eines zuvor definierten Ziels in Zahlen abzubilden und kontrollieren. Indikator für Leistung Kennzahlen werden häufig mit KPIs verwechselt. Eine Kennzahl ist ein […]

EDV

Wofür steht EDV? EDV ist die Abkürzung für elektronische Datenverarbeitung. Der Begriff bezeichnet die Erfassung, die Bearbeitung, den Transport und die Wiedergabe von Daten. Dies geschieht mithilfe von Software auf elektronischen Maschinen und Rechnern. Hierzu zählen neben Computern, Smartphones oder Smartwatches auch Haushaltsgeräte und elektronische Steuerungen. Im Englischen wird die elektronische […]

Domain Name System (DNS)

Was ist das Domain Name System oder DNS? Das DNS, kurz für Domain Name System, ist eine der häufigsten, aber missverstandenen Komponenten im World Wide Web. Einfach ausgedrückt, hilft das DNS dabei, den Datenverkehr im Internet zu lenken, indem Domainnamen mit tatsächlichen Webservern verbunden werden. Im Wesentlichen nimmt das System […]

IP Adresse finden

Eine IP-Adresse finden – So funktioniert es Netzwerke wie das Internet identifizieren Computer, Tablets, Smartphones und smarte Geräte nicht anhand eines Namens, den Benutzer ihnen geben. Für diese Geräte werden als Bezeichner bestimmte Nummern verwendet, die IP-Adressen genannt werden. Die Abkürzung IP steht dabei für “Internet Protocol”, ein Teil des […]

User-Experience (UX)

Was bedeutet User-Experience (UX)? User-Experience bezeichnet die Gesamtheit der Eindrücke eines Nutzers beim Einsetzen, Benutzen, Besuchen oder Anwenden eines Produktes, einer App, einer Webseite oder einer Software.   Das bedeutet, dass sich eine gute User-Experience aus mehreren Faktoren zusammensetzt. Einfluss auf die User-Experience nehmen neben der eigenen Erwartung an die Funktionalität auch die […]