Gebäudetechnik
.
deutsch english francais italinao
 Suche

 Startseite
 Organisation
 Know How
 Online Forum
 Links

 Anmeldung

 

Login Funktionen
Hauptseite
Grunddaten ändern
Kontaktpersonen verwalten
Logout
 Über GBT
 FAQ & Hilfe Tool
 Ziele
 Bedingungen
 eMail
  Lexikon/Glossar     Suche :       0 Einträge
 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
 
JavaScript
 
JavaScript ist eine Skriptsprache, die unter dem Namen ECMAScript unter ECMA-262 standardisiert wurde. Die Syntax der Sprache ist ähnlich derjenigen von Java, doch unterscheidet sie sich in der Semantik. JavaScript wurde mit der Intention entwickelt statische HTML-Seiten dynamisch zu gestalten. Im Gegensatz zu serverseitigen Scriptsprachen wie z.B. Perl oder PHP wird JavaScript auf dem Client ausgeführt. Mittels einer Schnittstelle zum Document Object Model (DOM) können Elemente der Webseite manipuliert werden, nachdem diese zum Client übertragen wurde.

Die Skriptsprache JavaScript ist geprägt durch ihre dynamischen und objektorientierten Aspekte. Sie wurde einst von Brendan Eich für den Netscape Navigator entwickelt und ist heute weitestgehend mit allen grafischen Browsern kompatibel.
JavaScript ermöglicht die Optimierung und Funktionalitätserweiterung von Webseiten. Beispielsweise die Überprüfung von Formulareingaben, Anzeige von Rollover-Buttons (Schaltflächen die sich bei Mausberührung verändern), die Gestaltung animierter Lauftexte und das dynamische Nachladen von Inhalten einer Webseite.

JavaScript-Befehle werden zur Laufzeit vom Webbrowser des Benutzers, also "clientseitig", interpretiert.
Deaktiviert man im Browser die Ausführung von JavaScript, werden Webseiten, die auf JavaScript-Unterstützung aufgebaut sind, nicht mit ihrer vollständigen Funktionalität angezeigt. In diesem Fall bleiben dem Benutzer Animationseffekte, dynamisches HTML (DHTML) oder spezielle Web 2.0-Funktionalitäten mit AJAX-Technologie verborgen.

JavaScript hat mit der objektorientierten Programmiersprache Java nichts gemein. Der Name ist aus marketingtechnischen Gründen entstanden

Datenstrukturen und Objekte
Eine wichtige Datenstruktur in JavaScript ist das assoziative Array, das in anderen Programmiersprachen "Dictionary" (Smalltalk), "Hash" (Perl) oder "HashMap" (Java) genannt wird.
JavaScript kennt mehrere Arten von eingebauten Objekten wie z.B. Object, Screen, Array, String, Date and Math. Andere Objekte gehören zum DOM (window, form, links etc.).

Eigenschaften oder Methoden von Objekten werden über folgende Notation angesprochen: instanzvariable.feldname bzw. instanzvariable.methodenname.

Eine Übersicht der wichtigsten Eigenschaften und Methoden der einzelnen Objekte:
Screen Objekt
screen.width // Bildschirmbreite zurückgeben
screen.height // Bildschirmhöhe zurückgeben

Array
arrayname = new Array(1,2,3,4,5,6) //neues Array anlegen
arrayname.length //Anzahl der Elemente zurückgeben
arrayname.concat(anderesArray) //zwei Arrays verbinden
arrayname.join() //Array in Zeichenkette umwandeln
arrayname.pop() //letztes Element aus Array löschen
arrayname.push(neuer Wert) //ein neues Element an das Ende des Array anhängen
arrayname.reverse() //Reihenfolge der Elemente umkehren

String
...

Date
dateobjekt = new Date() //neues Date Objekt erzeugen

Math
Math.max(zahl1,zahl2) //die größere der beiden Zahlen zurückgeben
Math.min(zahl1,zahl2) //die kleiner der beiden Zahlen zurückgeben
Math.pow(Basiszahl,Exponent) //Ergebnis der Exponentialrechnung zurückgeben
Math.random() //Eine Zufallszahl zwischen 0 und 1 zurückgeben

Window Objekt
window.resizeTo(neueWeite,neueHöhe); // Fenstergröße einstellen
window.back(); // vorhergehende Seite anzeigen
window.open("dateiname.htm","Fenstername"); // neues Browserfenster öffnen

Eigene Objekte kann man mit Hilfe einer Konstruktorfunktion erzeugen. JavaScript ist prototypenbasiert. Weiter können auch Eigenschaften oder Methoden zu einzelnen Objekten zur Laufzeit hinzugefügt werden. Wenn man das für alle gleichartigen Objekte tun will, dann ist die "prototype"-Anweisung zu verwenden.

Kontrollstrukturen
If ... else
if (Bedingung) {
Anweisungen;
}
else {
Anweisungen;
}

While-Schleife
while (Bedingung) {
Anweisungen;
}

Do ... while
do {
Anweisungen;
} while (Bedingung);

For-Schleife
for (Startausdruck ; Bedingung ; Inkrementier-Ausdruck ) {
statements
}

For ... in-Schleife
Mit dieser Anweisung werden alle Eigenschaften eines Objektes durchlaufen (oder auch alle Elemente eines Feldes).

for (variable in object) {
statement
}

Switch-Ausdruck
switch (Ausdruck) {
case marke1 :
Anweisungen;
break;
case marke2 :
Anweisungen;
break;
default :
Anweisungen;
}

Funktionen
Eine Funktion ist ein Block mit einer Liste (ev. auch leer) von Parametern, dem ein Name zugewiesen wird. Eine Funktion kann einen Resultatwert zurückgeben.

function meineFunktion(param1, param2, param3) {
Anweisungen;
return Ausdruck;
}

Beispiel: Der ursprüngliche Algorithmus von Euklid zur Ermittlung des größten gemeinsamen Teilers: Es ist eine geometrische Lösung; die kleinere Strecke wird jeweils von der größeren abgezogen.

function gcd(a, b) {
while (a != b) {
if (a > b) {
a = a - b;
} else {
b = b - a;
}
}
return a;
}

Die Anzahl der Parameter beim Aufruf muss nicht zwingend mit der Anzahl der Parameter in der Funktionsdefinition übereinstimmen. Wenn beim Aufruf weniger Parameter angegeben werden, dann wird für die übrigen Parameter einfach der Wert NULL (stimmt das?) eingesetzt. Weiter kann innerhalb der Funktion auch über das arguments-Array auf die Parameter zugegriffen werden.

Eigene Objekte
function MyObject() {
}
// Erstellt ein neues Objekt
var obj = new MyObject();

Um nun Variablen und Funktionen im Objekt zu speichern müssen diese in der this Variable gespeichert werden:
function MyObject() {
this.counter = 0;
this.next = function (){ return this.counter++; }
this.getValue() = function () { return this.counter; }
}

Benutzerinteraktion
Meist erfolgt die Benutzerinteraktion über HTML-Formulare, auf deren Elemente man über das DOM zugreift. Es gibt jedoch auch einige einfache Arten, direkt mit dem Benutzer zu kommunizieren:

Alarm-Dialog
Gibt ein Fenster mit einer Textmeldung aus.
Beispiel:
window.alert('Hallo Welt');

Eingabeaufforderung
andere Interaktionsmöglichkeiten
* Bestätigungsdialog
* Statusleiste
* Konsole

Fehlerbehandlung
Die neueren Versionen von ECMAScript (wie im Internet Explorer 5 und Netscape Navigator 6) verfügen über eine try ... catch Fehlerbehandlungsanweisung.

Die try ... catch ... finally Anweisung fängt Ausnahmen (exceptions), die aufgrund eines Fehlers oder einer throw-Anweisung auftreten, ab. Die Syntax ist wie folgt:

try {
// Anweisungen, in denen Ausnahmen auftreten oder ausgelöst werden können
} catch(error) {
// Anweisungsfolge, die im Ausnahmefall ausgeführt wird.
} finally {
// Anweisungsfolge, die anschließend in jedem Fall ausgeführt wird.
}

Zu Beginn werden die Anweisungen im try-Block ausgeführt. Falls eine Ausnahme auftritt, wird der Kontrollfluss sofort zum catch-Block mit dem Ausnahmeobjekt als Parameter umgeleitet.

In Normalfall wird der Ausnahmeblock übersprungen. Nach der Ausführung des try-Blocks (auch teilweise) und ggf. auch des catch-Blocks werden in jedem Fall auch die Anweisungen im finally-Block ausgeführt.

try {
Anweisungen
}
catch (err) {
// Fehlerbehandlung
}
finally {
Anweisungen
}

Der finally-Teil kann weggelassen werden:

try {
Anweisungen
}
catch (err) {
// Fehlerbehandlung
}