mozilla

Über Javascript

Dieses Kapitel stellt JavaScript vor und behandelt einige grundlegende Konzepte.

Was solltest du bereits wissen?

Für diese Einführung solltest du die folgenden Grundkenntnisse besitzen:

  • Ein allgemeines Verständnis von Internet und World Wide Web (WWW).
  • Gute praktische Kenntnisse der HyperText Markup Language (HTML).
  • Etwas Programmiererfahrung. Falls du erst mit dem Programmieren beginnst, folge einer der Anleitungen, die auf der Hauptseite zu  JavaScript verlinkt sind.

Wo findest du Informationen zu JavaScript ?

Die Dokumentation zu JavaScript im MDN umfaßt Folgendes:

  • Learning the Web [de] vermittelt Informationen für Einsteiger und präsentiert grundlegende Konzepte der Programmierung und des Internets.
  • JavaScript Guide [de] (dieser Artikel) gibt einen Überblick über JavaScript und die Bibliothek.
  • JavaScript Referenz [de] enthält ausführliche Informationen zu den einzelnen Methoden und Objekten, die in JavaScript verwendet werden.

Falls du dich das erste Mal mit JavaScript befasst, beginne einfach mit den Tutorials von Learing the Web [de] und dem JavaScript Guide [de]. Sobald du mit den ersten Grundlagen vertraut bist, kannst du die JavaScript Referenz [de] nutzen, um noch mehr über die einzelnen Methoden, Funktionen und Objekte von JavaScript zu erfahren.

Was ist JavaScript?

JavaScript ist eine plattformübergreifende, objektorientierte Skriptsprache. Es ist eine kompakte und ressourcenschonende Sprache. Innerhalb einer Host-Umgebung kann JavaScript mit den Objekten seiner Umgebung verknüpft werden, um diese programmatisch zu steuern.

JavaScript beinhaltet eine Standardbibliothek von Objekten wie  Array, Date, und Math, sowie einen Kern an Sprachelementen wie Operatoren, Kontrollstrukturen und Anweisungen.. Core JavaScript kann für eine Vielzahl von Anwendungsfällen erweitert werden, indem man es durch zusätzliche Objekte ergänzt. Beispiele: 

  • Clientseitiges JavaScript erweitert die Kernsprache durch die Bereitstellung von Objekten, mit denen ein Browser und sein Document Object Model (DOM) steuern lassen. Zum Beispiel ermögliche es clientseitige Erweiterungen einer Anwendung, Elemente in einem HTML-Formular anzulegen und auf Benutzerereignisse wie Mausclicks, Formulareingaben un Seitennavigation zu reagieren.
  • Serverseitiges JavaScript erweitert die Kernsprache durch Bereitstellung von Objekten, die für die Ausführung von JavaScript auf einem Server von Bedeutung sind. Zum Beispiel ermöglichen es serverseitige Erweiterungen einer Applikation, mit einer Datenbank zu kommunizieren, Information von einem Aufruf der Applikation zum nächsten zu erhalten oder Änderungen an Dateien auf einem Server vorzunehmen.

JavaScript und Java

JavaScript und Java gleichen einander in manchen Aspekten, sind in anderen aber grundlegen verschieden. Die Sprache JavaScript ähnelt Java, verfügt jedoch nicht über Javas statische Typisierung und seine strenge Typprüfung. JavaScript folgt weitgehend der Ausdruckssyntax, den Namenskonventionen und den elementaren Kontrollstrukturen von Java, was der Grund für die Umbenennung von LiveScript in JavaScript gewesen ist.

Im Gegensatz zu Javas durch Deklarationen aufgebautes System von zur Compile-Zeit verfügbaren Klassen unterstützt JavaScript ein Laufzeitsystem, das auf einer kleinen Zahl an Datentypen basiert, die numerische und Boolesche Werte sowie  Zeichenketten repräsentieren. JavaScript besitzt ein prototypen-basiertes Objektmodell anstatt des verbreiteteren klassenbasierten. Das prototypen-basierte Modell liefert dynamische Vererbung; das bedeutet, was vererbt wird, kann zwischen einzelnen Objekten variieren. JavaScript unterstützt zudem Funktionen ohne spezielle deklarative Anforderungen. Funktionen können Objekt-Properties sein, ausgeführt als schwach typisierte Methoden.

JavaScript ist im Vergleich zu Java eine syntaktisch sehr freie Sprache. Sie müssen nicht alle Variablen, Klassen und Methoden deklarieren. Sie müssen sich nicht damit befassen, ob Methoden öffentöich, privat oder geschützt sind, und Sie müssen keine Interfaces implementieren. Variablen, Parametr und Rückgabewerte von Funktionen sind nicht explizit typisiert.

Java ist eine auf schnelle Ausführung und Typsicherheit ausgelegte klassenbasierte Programmiersprache. Typsicherheit bedeutet, daß Sie zum Beispiel keine Java-Ganzzal in eine Objektreferenz wandeln oder auf geschützten Speicher zugreifen können, indem Sie den Bytecode von Java manipulieren. Javas klassenbasiertes Modell bedeutet, daß Programme ausschließlich aus Klassen und ihren Methoden bestehen. Javas Klassenvererbung und strenge Typisierung erfordern im Allgemeinen eng gekoppelte Objekthierarchien. Wegen dieser Anforderungen  ist das Programmieren in Java komplexer als in JavaScript.

Im Gegensatz dazu steht JavaScript in der Tradition einer Reihe kleiner, dynamisch typisierter Sprachen wie HyperTalk und dBase. Diese Skriptsprachen stellen dank ihrer einfacheren Syntax, spezialisierter eingebauter Funktionalität und minimalen Anforderungen für die Objektgenerierung Programmierwerkzeuge für einen deutlich breiteren Adressatenkreis  dar.

JavaScript im Vergleich zu Java
JavaScript Java
Objektorientiert. Keine Unterscheidung zwischen Typen von Objekten. Vererbung mittels des Prototypen-Mechanismus, jedes beliebige Objekt kann dynamisch um Eigenschaften und Methoden erweitert werden. Klassenbasiert. Objekte werden in Klassen und Instanzen unterteilt, Vererbung erfolgt vollständig über die Klassenhierarchie. Klassen und Instanzen können keine Eigenschaften und Methoden dynamisch hinzugefügt werden.
Datentypen von Variablen werden nicht deklariert (dynamische Typisierung) Datentypen von Variablen müssen deklariert werden (statische Typisierung)
Kein automatischer Schreibzugriff auf die Festplatte. Kein automatischer Schreibzugriff auf die Festplatte.

Weitere Informationen zu den Unterschieden zwischen JavaScript und Java finden Sie im Kapitel Einzelheiten des Objektmodells.

JavaScript und die ECMAScript-Spezifikation

JavaScript wird durch Ecma International standardisiert — den europäischen Verband zur Standardisierung von Informations- und Telekommunikationssystemen (ECMA war vormals ein Akronym für 'European Computer Manufacturers Association'), um eine standardisierte, internationale Programmiersprache auf der Basis von JavaScript verfügbar zu machen. Diese standardisierte Version von JavaScript, genannt ECMAScript, vehält sich in allen standardkonformen Applikationen identisch. Unternehmen können die offene Sprachdefinition verweden, um ihre eigene Implementierung von JavaScript zu entwickeln. Der ECMAScript-Standard ist in der Spezifikation ECMA-262 dokumentiert. Unter Neu in JavaScript erfahren Sie mehr über die unterschiedlichen Versionen von JavaScript und den ECMAScript-Spezifikationen.

ECMA-262 ist auch von der ISO (International Organization for Standardization) als ISO-16262 verabschiedet. Sie finden die Spezifikation auch auf der Website von Ecma International. Die Spezifikation von ECMAScript beschreibt nicht das Document Object Model (DOM), welches durch das World Wide Web Consortium (W3C) standardisiert wird. Das DOM definiert die Art und Weise, in der HTML-Dokumentenobjekte für Ihr Skript sichtbar sind. Um ein besseres Verständnis der verschiedenen bei der Programmierung in JavaScript eingesetzten Technologien zu entwickeln, lesen Sie den Artikel  Überblick der Technologien in JavaScript.

JavaScript-Dokumentation vs.  ECMAScript-Spezifikation

Die Spezifikation von ECMAScript besteht aus einem Satz von Anforderungen an eine Implementierung von ECMAScript; sie ist zweckdienlich, falls Sie standardkonforme Spracheigenschaften in Ihrer ECMAScript-Implementierung oder ihrer Laufzeitumgebung ( wie SpiderMonkey in Firefox oder v8 in Chrome ) realisieren wollen.

DAs ECMAScript-Dokument soll nicht den Skriptprogrammierer unterstützen; nutzen Sie für Informationen zum Erstellen von Skripten die JavaScript-Dokumentation.

Die ECMAScript-Spezifikation verwendet Terminologie und Syntax, mit der JavaScript-Programmierer möglicherweise nicht vertraut sind. Obwohl sich die Beschreibung der Sprache in ECMAScript unterscheiden kann, bleibt die Sprache selbst die gleiche. JavaScript unterstützt jede Funktionalität, die in der ECMAScript-Spezifikation genannt wird.

The JavaScript-Dokumentation beschreibt Aspekte der Sprache in für JavaScript-Programmierer passender Form.

Erste Schritte mit JavaScript

Die ersten Schritte mit JavaScript sind einfach: alles was Sie brauchen, ist ein aktueller Browser. Diese Einführung nimmt auf  einige Spracheigenschaften von JavaScript Bezug, die zur Zeit nur in den jüngsten Versionen von Firefox verfügbar sind, somit wird die Nutzung der aktuellsten Firefox-Version empfohlen.

Es gibt zwei zum Experimentieren mit JavaScript nützliche in Firefox integrierte Werkzeuge: die Web-Konsole and das Scratchpad.

Die Web-Konsole

Die Web-Konsole zeigt Ihnen Informationen zur aktuell geladenen Webseite an und beinhaltet zudem eine Kommandozeile, die Sie nutzen können, um JavaScript-Ausdrücke im Kontext der aktuellen Seite auszuführen.

Um die Web-Konsole zu öffnen, wählen Sie "Web Console" im Menu "Web Developer", das Sie unter dem Menu "Tools" im Firefox finden. Die Konsole wird am unteren Rand des Browserfensters angezeigt. Entlang des unteren Rands der Konsole befindet sich eine Kommandozeile, in der Sie JavaScript eingeben können; die zugehörige Ausgabe erscheint im darüberliegenden Fensterbereich:

Scratchpad

Die Web-Konsole eignet sich hervorragend zur Ausführung einzelner Zeilen JavaScript, aber während Sie mehrere Zeilen ausführen können, ist das nicht besonders komfortabel, und Ihren Beispielcode speichern können Sie mit der Web-Konsole auch nicht. Daher ist für komplexere Beispiele das Scratchpad die bessere Wahl.

Um das Scratchpad zu öffnen, wählen Sie "Scratchpad" aus dem Menu "Web Developer", das Sie unter dem Menu "Tools" im Firefox finden. Das Scratchpad öffnet sich in einem eigenen Fenster als Editor, mit dem Sie JavaScript schreiben und im Browser ausführen können. Sie können auch Skripte auf Platte speichern bzw. von Platte laden.

Wählen Sie "Inspect", wird der Code in Ihrem Scratchpad ausgeführt und das Ergebnis in Form eines Kommentars zurück ins Scratchpad geschrieben:

Hello world

Beginnen Sie mit dem Programmieren in JavaScript, indem Sie Web-Konsole oder Scratchpad öffnen und Ihr erstes "Hello World"-Programm in JavaScript schreiben.

function greetMe(user) {
  return "Hi " + user;
}

greetMe("Alice"); // "Hi Alice"

Auf den folgenden Seiten macht Sie diese Einführung mit Syntax und Spracheigenschaften von JavaScript vertraut, so daß Sie bald komplexere Anwendungen schreiben können.

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: fscholz
Zuletzt aktualisiert von: fscholz,
Seitenleiste ausblenden