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

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 […]

Online Marketing

Was ist Online Marketing? Unter Online Marketing versteht man alle Marketing-Maßnahmen im Internet. Aufgrund der immer stärker werdenden Verknüpfung von Offline und Online Marketingtechniken und der großflächigen Verbreitung von internetfähigen, mobilen Geräten, verschwimmen die Grenzen zwischen klassischem, „Offline“ Marketing und Online Marketing. Ziel des Online Marketings ist es, mehr Internetnutzer […]

Behavioral Targeting

Was ist Behavioral Targeting? Behavioral Targeting ist Bestandteil des allgemeinen Targetings und beschäftigt sich mit der verhaltensbasierten Aussteuerung von Werbeanzeigen. Es stellt eine besondere Form der Zielgruppenansprache dar, die es Anbietern ermöglicht, Werbung zu schalten, die perfekt auf den einzelnen Nutzer zugeschnitten ist. Wie funktioniert Behavioral Targeting? Die Grundlage für […]

Stemming

Was ist Stemming? Als Stemming (Stammformreduktion) wird in der Sprachwissenschaft und linguistischen Informatik ein Verfahren bezeichnet, das verschiedene morphologische Varianten eines Wortes auf ihren gemeinsamen Wortstamm zurückführt. Durch das Stemming können verbesserte und relevantere Suchergebnisse erzielt werden. Auf jeden Fall führt es zu einer Erweiterung der Ergebnisse. Verwendung für die […]