REFERAT-MenüDeutschGeographieGeschichteChemieBiographienElektronik
 EnglischEpochenFranzösischBiologieInformatikItalienisch
 KunstLateinLiteraturMathematikMusikPhilosophie
 PhysikPolitikPsychologieRechtSonstigeSpanisch
 SportTechnikWirtschaftWirtschaftskunde  



JavaScript

JavaScript


JavaScript ist eine Skriptsprache mit der man Client- und Server-Internetprogramme entwickeln kann. In einem Web-Browser wie Netscape oder Internet Explorer kann man die in eine HTML-Datei eingefügten Befehle direkt einlesen und ausführen; mit LiveWire zum Beispiel ist es weiters möglich server-basierte Programme zu schreiben, die den CGI-Applikationen (Common Gateway Interface) ähnlich sind.



JavaScript und Java


JavaScript ist mit der Programmiersprache Java in einem gewissen Grad verwandt, da es die gleiche Syntax besitzt und die meisten Befehle Javas unterstützt. Obwohl es viele Ahnlichkeiten zwischen diesen beiden Sprachen gibt, sind die Unterschiede leicht erkennbar. JavaScript besitzt zum Beispiel weniger und daher auch einfachere Datentypen. Der Datentyp einer Variable etwa muss nicht deklariert werden und außerdem besitzt JavaScript ein einfacheres Objekt-Modell. Im Gegensatz zum Compile-Time-System von Java, basiert JavaScript über ein Run-Time-System. JavaScript ist eine Art Ergänzung von Java, indem es die Eigenschaften und Leistung von Java-Applets oder Plug-Ins abfragen bzw. verändern kann.




Die folgende Tabelle zeigt ein paar Unterschiede und die Gemeinsamkeiten von Java und JavaScript:


JavaScript

Java

Vom Client direkt interpretiert - wird nicht kompiliert.

Auf dem Server kompiliert und dann auf dem Client ausgeführt.

Objekt-basierend. Keine Klassen oder Vererbung; "eingebaute" Objekte.

Objekt-orientiert. Programme bestehen aus Objekten, Klassen mit Vererbung, etc.

Integriert in bzw. eingefügt in HTML.

Applets separiert von HTML (Aufruf durch HTML-Seiten).

Keine Datentyp-Deklaration von Variablen.

Datentypen von Variablen müssen deklariert werden.

Objekt-Referenzen werden in "Run-Time" überprüft.

Objekt-Referenzen müssen schon in "Compile-Time" existieren.

Sicher: kann nicht auf Festplatte schreiben.

Sicher: kann nicht auf Festplatte schreiben.



JavaScript in HTML


Einfügen von JavaScript in Dokumenten


Skripten werden in HTML mit Hilfe des Skript-Tags eingefügt:


<script></script>


Der Text eines Skripts wird dabei zwischen dem <script> und dem </script> eingefügt. Außerdem kann das Skript-Tag folgende Parameter haben:


<script language="JavaScript"></script>


Der Paramter language ist erforderlich.


<script src="http://myscript.js"></script>


Ein optionaler Parameter, der eine separate Datei angibt, welche JavaScript-Instruktionen enthält.


Hinweise


Skripten innerhalb des Skript-Tags werden erst nach dem Seitenaufruf interpretiert. Funktionen werden dabei nur gespeichert, nicht ausgeführt. Diese werden nur dann ausgeführt, wenn sie von der HTML-Seite aufgerufen wird.

Befehle, die mit dem src-Paramter eingelesen werden, werden wie normale Befehle innerhalb des Skript-Tags behandelt. Diese haben gegenüber Befehle innerhalb des Skript-Tags Vorrang.

Die im src-Parameter angegebene Datei sollte die Erweiterung .js tragen.

Skripten können von Kommentar-Anweisungen eingeschlossen werden, damit ältere Browser, die JavaScript nicht unterstützen, diese einfach ignorieren.

Genau wie Java unterscheidet JavaScript zwischen Groß- und Kleinbuchstaben.

Zeichenketten sollten von einfachen Anführungszeichen eingeschlossen werden, Parameterwerte hingegen von doppelten.



Werte, Namen und Datentypen


Werte

Variablennamen

Datentypen


Werte (Values)


JavaScript erkennt folgende Typen von Werten:


Zahlen wie 42 oder 3.14159

Logische Werte (Boolsche Datentypen): wahr oder falsch (true oder false)

Zeichenketten wie "Howdy!"

null, ein spezielles Schlüsselwort, das einen Nullwert bezeichnet


In JavaScript gibt es keine Unterscheidung zwischen ganzen Zahlen (integer) und Fließkommazahlen (real). Zudem gibt es keinen eigenen Datentyp für Datum und Zeit. Das Objekt date und die damit verbundenen Funktionen ermöglichen die Arbeit mit Datum und Zeit.


Konvertieren von Datentypen (Casting)


In JavaScript ist die Deklaration von Datentypen einer Variable nicht erforderlich. Die Datentypen werden während der Ausführung des Programms automatisch konvertiert. Da Ausdrücke von links nach rechts eingelesen werden, so muss JavaScript diesem Schema folgen und die Datentypen von links nach rechts einlesen. JavaScript wird daher versuchen den Datentyp eines Ausdrucks vom Datentyp des linken Wertes abzuleiten. Dazu ein Beispiel:


var zeichen = "7"

var zahl


Nun zwei Ausdrücke:


x = zeichen + zahl

y = zahl + zeichen


Beim ersten Ausdruck wird die Zahl 42 in die Zeichenkette "42" umgewandelt und die Variable x erhält den Datentyp einer Zeichenkette (string), weil der linke Wert des Ausdrucks ( ) eine Zeichenkette ist. Durch Verbinden der beiden Zeichenketten "7" und "42" erhält man anschließend den Wert . Beim zweiten Ausdruck wird aber die Zeichenkette "7" in die Zahl 7 konvertiert und die Variable y wird zu einer Zahl. Durch Addieren der Zahl 42 und der Zahl 7 erhält man 49.


Es gibt jedoch einige Fälle, in denen JavaScript keine Konvertierung vornehmen kann. Der Ausdruck


var zeichen = "Wien"

var zahl = 42


y = zahl + zeichen


wird zu einem Fehler führen, da Wien" nicht in eine Zahl konvertiert werden kann.


Variablennamen


Variablen werden verwendet, um gewisse Werte zu speichern. Diese Variablen müssen Namen tragen durch die man sie aufrufen kann. Bei der Vergebung von Namen muss man gewissen Regeln beachten:


Ein Identifikator oder Name muss mit einem Buchstaben oder dem Unterstrich (" anfangen. Die folgenden Zeichen können entweder Zaheln (0-9) oder Buchstaben (A-Z, a-z) sein.


Datentypen (Literals, Data types)


Ganze Zahlen (Integers)


Ganze Zahlen können als Dezimal- (Basis 10), Hexadezimal (Basis 16) oder als Oktalzahlen (Basis 8) dargestellt werden. Eine Dezimalzahl besteht aus einer mit einem Vorzeichen versehenen Sequenz von Ziffern ohne einer vorangestellten 0 (Null). Eine 0 (Null) am Anfang einer solchen Sequenz kennzeichnet eine Oktalzahl, ein 0x (oder 0X) eine Hexadezimalzahl. Dezimalzahlen können die Ziffern 0-9 enthalten, Hexadezimalzahlen die Ziffern 0-9 und die Buchstaben a-f bzw. A-F und Oktalzahlen lediglich die Ziffern 0-7.


Fließkommazahlen (Floating Point)


Eine Fließkommazahl kann aus folgendem bestehen: eine ganze Dezimalzahl, einem Punkt ("."), einer Nachkommazahl, einem Exponenten und einem Vorzeichen. Der Exponent wird mit einem "e" oder "E", einem Vorzeichen und einer Zahl gekennzeichnet. Eine Fließkommazahl muss aus mindestens einer Ziffer und einem Punkt oder einem Exponent bestehen.


Boolsche Datentypen (Boolean)


Boolsche Datentypen können folgende Werte annehmen: true oder false.


Zeichenketten (Strings)


Eine Zeichenkette besteht aus keinem oder mehreren Zeichen, die von einfachen ( oder doppelten (") Anführungszeichen eingeschlossen werden, wobei nur gleiche Anführungszeichen verwendet werden dürfen.


Sonderzeichen


Man kann folgende spezielle Zeichen in Zeichenketten verwenden:


b kennzeichnet einen Backspace.

f kennzeichnet ein Form Feed.

n kennzeichnet ein Return.

r kennzeichnet einen Zeilenumbruch.

t kennzeichnet das Tabulatorzeichen.



Ausdrücke und Operatoren in JavaScript


Ausdrücke


Ein Ausdruck ist eine Reihe von Variablen, Datentypen, Operatoren und anderen Befehlen, die zu einem einzigen Wert führen. Der neue Wert kann entweder eine Zahl, eine Zeichenkette oder ein logischer Wert sein. Es gibt zwei Arten von Ausdrücken: Die, die einer Variable einen Wert zuweisen, und die, die einfach einen Wert besitzen.


JavaScript besitzt folgende Arten von Ausdrücken:


Arithmetische: für Zahlen, etc.

String: für Zeichenketten

Logische: wahr oder falsch


Bedingungs-Ausdrücke


Diese Ausdrücke können eine aus zwei gegebenen Werten haben, wobei der Wert von einer Bedingung abhängig ist. Die Syntax lautet:


(Bedingung) ? W1 : W2


Wenn die Bedingung erfüllt wird, erhält der Ausdruck den Wert von W1, ansonsten den von W2.


Zuweisungs-Operatoren


Zuweisungs-Operatoren weisen der Variable links vom Operator einen Wert, der von der Variable rechts vom Operator abhängig ist, zu. Der einfachste Zuweisungs-Operator ist das Ist-Gleich-Zeichen ("=").


Hier ein paar Vereinfachungen von oft verwendeten mathematischen Berechnungen:


x += y bedeutet x = x + y

x ­-= y bedeutet x = x - y

x *= y bedeutet x = x * y

x /= y bedeutet x = x / y

x %= y bedeutet x = x % y


Und hier noch ein paar Vereinfachungen für binäre Berechnungen:


x <<= y bedeutet x = x << y

x >>= y bedeutet x = x >> y

x >>>= y bedeutet x = x >>> y

x &= y bedeutet x = x & y

x ^= y bedeutet x = x ^ y

x |= y bedeutet x = x | y


Operatoren


In JavaScript gibt es logische, arithmetische und String-Operatoren. Weiters gibt es noch unäre und binäre Operatoren: Binäre Operatoren erfordern zwei Werte, einen vor und einen nach dem Operator:


wert1 operator wert2


Ein unärer Operator verlangt nur einen Wert:


operator wert


oder


wert operator


Integer-Operatoren


Unäre Integer-Operatoren


Operator

Bedeutung


unäre Negation


bitweises Komplement


Inkrement


Dekrement


Die unäre Negation ändert das Vorzeichen des Integers. Das bitweise Komplement änder jedes einzelne Bit, d.h. eine 0 wird zu 1, eine 1 wird zu 0. Inkrement erhöht den Integer um 1, Dekrement erniedrigt ihn um 1. Der Inkrement- und der Dekrement-Operator können jeweils als Postfix oder Präfix verwendet werden. Wird er wie bei


y = x++


als Postfix verwendet, dann erhält y den Wert von x und anschließend wird x erhöht. Der Ausdruck


y = ++x


bedeutet, dass y den Wert von x erhält, nachdem x um 1 erhöht wurde.


Binäre Integer-Operatoren


Binäre Operatoren verlangen zwei Werte. Diese beiden Werte werden berechnet und einer Variable zugewiesen.


Operator

Bedeutung


Addition


Subtraktion


Multiplikation


Division


Modulo


bitweise AND-Verknüpfung


bitwese OR-Verknüpfung


bitweise XOR-Verknüpfung

<<

links schieben

>>

rechts schieben

>>>

rechts schieben und mit Nullen ausfüllen


Relationale Integer-Operatoren mit Boolschen Ergebnissen


Außer den unären und binären Integer-Operatoren gibt es noch eine Reihe weiterer Integer-Operatoren, die Boolsche Ergebnisse liefern. Diese sind:


Operator

Bedeutung

<

kleiner als

>

größer als

<=

kleiner oder gleich

>=

größer oder gleich


gleich


ungleich


Operatoren für Boolsche Ausdrücke


Operator

Bedeutung


Boolsche Negation

&

logisches AND


logisches OR


logisches XOR

&&

AND


OR


gleich


ungleich

&=

Zuweisung mit AND


Zuweisung mit OR


Zuweisung mit XOR


ternärer Operator


Operator-Hierarchie (Vorrangregeln)


















































<<

>>

>>>










<

<=

>

>=





















&




































&&










































<<=

>>=

>>>=

&=

















JavaScript Objekt-Modell


JavaScript besitzt ein relativ einfaches Objekt-Modell. Ein Objekt ist ein Gebilde mit Eigenschaften, wobei die Eigenschaften durch Variablen definiert werden. Eigenschaften können selber Objekte sein.Funktionen, die einen Bezug zu einem Objekt haben, bezeichnet man als die Methoden des Objekts. Zusätzlich zu bereits vorhandenen Objekten wie zum Beispiel in Web-Browsern, kann man seine eigenen Objekte definieren.


Objekte und Eigenschaften


Ein JavaScript-Objekt besitzt Eigenschaften. Auf solche Eigenschaften kann man wie folgt zugreifen:


objektName.objektEigenschaft


Eigenschaften werden definiert, indem man ihnen einen Wert zuweist:


objektName.objektEigenschaft = "Wert"

objektName.objektEigenschaft = 567


Funktionen und Methoden


Eine Funktion ist eine JavaScript-Prozedur - eine Reihe von Ausdrücken - die man aus jeder Stelle im Programm aufrufen kann. Funktionen werden mit dem function-Befehl definiert. Es ist ratsam, Funktionen im HEAD-Abschnitt einer HTML-Datei zu definieren, da diese beim Seitenaufbau zuerst geladen werden.


Eine Funktions-Definition besteht aus dem function-Befehl, gefolgt vom


Namen der Funktion,

einer Liste von Parametern, eingeklammert und durch Beistriche voneinander getrennt, und

den Ausdrücken, die die Funktion ausführen soll, wenn sie aufgerufen wird. Diese sind durch geschwungene Klammern eingeschlossen.


Eine Definition einer Funktion:


function schreiben(string)


Bei der Definition einer Funktion wird diese noch nicht ausgeführt, sie muss erst aufgerufen werden>


<script>

schreiben('Dieser Text wird angezeigt.')

</script>


Parameter müssen nicht immer Zahlen oder Zeichenketten sein. Man kann auch ganze Objekte als Parameter übergeben.


Methoden


Methoden sind Funktionen, die mit einem Objekt verknüpft sind. Methoden werden wie Funktionen definiert. Danach müssen sie nur noch mit einem Objekt verknüpft werden:


objekt.MethodenName = FunktionsName


Das Aufrufen der Methode geschieht auf folgende Weise:


objekt.MethodenName(Parameter);


Neue Objekte erstellen


Um ein Objekt zu erstellen sind zwei Schritte notwendig:


Den Typ des Objekts definieren, indem man eine Funktion definiert

Eine Instanz des Objekts mit new kreieren


Beispiel:


function person(name, alter, geschlecht)


Diese zwei Argumente erstellen zwei Objekte vom Typ person:


Lucero = new person("Lucero Joe", 18, "M")

Gates = new person ("Gates Bill", 40, "M")



Verwendung von built-in (= eingebauten) Objekten und Funktionen


JavaScript stellt folgende built-in Objekte und Funktionen zur Verfügung:


String-Objekt

Math-Objekt

Date-Objekt

eval-Funktion


String-Objekte sind einfach Zeichenketten, die als Objekte behandelt werden. Die Methoden dienen der Formatierung der Zeichenkette. Das Math-Objekt enthält Eigenschaften oder Methoden, wobei Eigenschaften mathematische Konstanten verkörpern und Methoden mathematische Funktionen. Das pi ist zum Beispiel eine Eigenschaft vom Objekt Math und wird mit Math.PI aufgerufen; die Sinus-Funktion ist eine Methode auf die mit Math.sin(Zahl) zugegriffen werden kann. Das Date-Objekt ermöglicht die Arbeit mit Datum und Zeit. Es besitzt keine Eigenschaften, dafür viele Methoden für das Einstellen, das Abrufen und andere Veränderungen der Zeit oder des Datums. Die eval-Funktion nimmt einen Ausdruck als ein Argument, berechnet es und gibt den Wert zurück.


Array


Ein Array ist eine Reihe von Werten, die mit einem Index versehen werden und in einer Variable gespeichert werden. Der Aufruf der einzelnen Werte erfolgt durch die Angabe des Index des jeweiligen Wertes. JavaScript besitzt keinen eigenen Datentyp für Arrays, stattdessen verwendet man Objekte und ihre Eigenschaften als Arrays.


Objekt-Hierarchie in Web-Browsern


Web-Browser definieren automatisch einige Objekte; ihre Anzahl ist dabei abhängig vom Inhalt der HTML-Seite. Das Fenster, in dem die HTML-Seite angezeigt wird ist beispielsweise ein Objekt (window-Objekt). Der Inhalt der Seite ist eine Eigenschaft vom window-Objekt (window.document), gleichzeitig ist er aber auch ein selbstständiges Objekt. Die Überschrift dieser HTML-Seite ist dann schließlich auch eine Eigenschaft der HTML-Seite (window.document.title). Diese HTML-Elemente bilden eine Hierarchie von Objekten und Eigenschaften


Objekte


anchor

Eine Textstelle, die als Ziel eines (Hypertext-) Links dient.

button

Ein Druckknopf in einem HTML-Formular.

checkbox

Ein Kästchen, das vom User aktiviert und deaktiviert werden kann.

Date

Ermöglich das Arbeiten mit Datum und Zeit.

document

Enthält Informationen über das dargestellte Dokument.

form

Ein Formular.

frame

Ein Frame ist ein Teil des Anzeigefensters eines Web-Browsers.

history

Enthält Informationen über die vom User besuchten Seiten.

link

Eine Textstelle, die als eine Art "Tür" zu einer anderen HTML-Seite dient.

location

Enthält Informationen über die URL ("Adresse") der angezeigten Seite.

Math

Enthält u.a. wichtige Konstanten wie π (pi) oder trigonometrische Funktionen

navigator

Enthält Informationen über den vom User benutzten Web-Browsers.

password

Ein Textfeld, in dem der User sein Passwort eingeben kann.

radio

Eine Liste, von der der User ein Element aussuchen kann

reset

Ein Druckknopf, der die Eingaben des Benutzers löscht.

select

Ein Pull-Down-Menü oder eine Liste.

string

Eine Zeichenkette.

submit

Sendet die vom Benutzer in ein Formular eingetragenen Informationen.

text

Ein einzeiliges Textfeld.

textarea

Ein mehrzeiliges Textfeld.

window

Das Fenster, in dem die HTML-Seite angezeigt wird.



Wichtige Befehle


break-Befehl


Unterbricht eine while- oder for-Schleife und übergibt die Kontrolle an die nächste Anweisung nach der Schleife.


Syntax


break


Kommentare


Kommentare sind Notizen des Programmierers und dienen zur Erklärung des Codes. Sie werden vom Interpreter ignoriert. JavaScript unterstützt einzeilige und mehrzeilige Kommentare.


Syntax


// einzeiliges Kommentar

/* mehrzeiliges Kommentar */


continue-Befehl


Unterbricht die Ausführung einer while- oder for-Schleife, verlässt im Gegensatz zum break-Befehl die Schleife nicht. Stattdessen springt die Kontrolle bei einer while-Schleife zur Ausgangsbedingung, bei einer for-Schleife zum Schrittwert.


Syntax


continue


for-Befehl


Eine for-Schleife besteht aus drei optionalen Argumenten, die eingeklammert sind und voneinander durch Beistriche getrennt werden. Diese sind


Der Anfangswert (der Wert bei dem die for-Schleife beginnen soll)

Die Bedingung (solange diese Bedingung erfüllt wird, werden die Ausdrücke einer for-Schleife ausgeführt)

Der Schrittwert (erhöht den Anfangswert um den gegebenen Wert)


Syntax


for (AnfangsWert, Bedingung; Schrittwert)


function-Befehl


Dieser Befehl dient zur Deklaration von Funktionen und ihren Paramteren. Soll die Funktion einen Wert übergeben, dann verwendet man den Befehl return. Funktionen können nicht verschachtelt werden.


Syntax


function name([parameter1] [, parameter])


ifelse-Befehl


Der ifelse-Befehl führt, abhängig von einer Bedingung, bestimmte Befehle aus. Wenn die Bedingung wahr ist, werden die Befehle unter if ausgeführt; sind sie falsch, werde die else-Befehle ausgeführt. Der else-Befehl ist optional.


Syntax


if (Bedingung)

else


return-Befehl


Veranlasst eine Funktion einen Wert an die Kontrolle zu übergeben.


Syntax


return Ausdruck;


var-Befehl


Dient der Deklaration von Variablen. Optional können gleich Werte zugewiesen werden.


Syntax


var variablenName [= Wert] [, variablenName [= Wert] ]


while-Befehl


Der while-Befehl kennzeichnet eine Schleife, die solange durchlaufen wird, solange die Bedingung wahr ist. Wenn die Bedingung falsch ist, wird die Schleife verlassen.


Syntax


while (Bedingung)


with-Anweisung


Die with-Anweisung verwendet ein gegebenes Objekt als Standard-Referenzobjekt für alle Zugriffe auf Eigenschaften ohne Objektreferenz.


Syntax


with (objekt)








Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen