Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Webbrowser
3 JavaScript einbauen
4 Programmieren mit JavaScript
5 Datum
6 Zufall
7 Browserinformationen
8 Fenster
9 Formulare
10 Frames und Iframes
11 Grafiken
12 Cookies
13 Objekte und Arrays
14 Ereignisbehandlung
15 Fehlerbehandlung
16 DOM
17 DHTML und CSS
18 AJAX
19 XML
20 Web Services
21 AJAX-Frameworks
22 Plugins
23 Multimedia
24 Java
25 Serverseitige Technologien
26 JavaScript goes .NET
27 Code schützen
28 Top Secret: Passwortschutz
29 Signierte Skripte
30 JavaScript und Sicherheit
31 Navigation
32 Warenkorb
33 JavaScript-Bibliotheken
34 Referenz
35 Quellen im Web
36 Die Zukunft von JavaScript
Index
Download: - ZIP, ca. 9,2 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / JavaScript und AJAX | vor >>
JavaScript und AJAX von Christian Wenz Das umfassende Handbuch
JavaScript und AJAX 839 S., mit DVD, 39,90 Euro Galileo Computing ISBN 3-89842-859-1 |
| Kapitel 4 Programmieren mit JavaScript
|  | 4.1 Variablen
|  |  | 4.1.1 Namensgebung
|  |  | 4.1.2 Numerische Variablen
|  |  | 4.1.3 Zeichenketten
|  |  | 4.1.4 Boolesche Variablen
|  |  | 4.1.5 Variablendeklaration
|  | 4.2 Operatoren
|  |  | 4.2.1 Arithmetische Operatoren
|  |  | 4.2.2 Boolesche Operatoren
|  |  | 4.2.3 String-Operatoren
|  |  | 4.2.4 Umwandlung zwischen den Variablentypen
|  | 4.3 Kontrollstrukturen: Schleifen
|  |  | 4.3.1 For-Schleifen
|  |  | 4.3.2 Do-while-Schleife
|  |  | 4.3.3 While-Schleife
|  |  | 4.3.4 For-in-Schleife
|  |  | 4.3.5 Schleifensteuerung
|  | 4.4 Kontrollstrukturen: Fallunterscheidung
|  |  | 4.4.1 If-Anweisung
|  |  | 4.4.2 Switch-Anweisung
|  |  | 4.4.3 Try
|  | 4.5 Datenspeicherung
|  |  | 4.5.1 Die eval()-Funktion
|  |  | 4.5.2 Arrays
|  | 4.6 Funktionen
|  | 4.7 Objekte
## 4.5 Datenspeicherung Wenn man viele Variablen braucht oder nicht genau weiß, wie viele Variablen man benötigt, ist das Konzept der Standardvariablen nicht flexibel genug. Beispielsweise sollte man sich bei der Benennung der Variablen schon vorher ein Konzept zurechtlegen, um effizient auf die Variablen zuzugreifen. In diesem Abschnitt werden zwei Möglichkeiten vorgestellt, um mehrere Variablen zu speichern. ### 4.5.1 Die eval()-Funktion Wieder einmal sollen die Monatsnamen gespeichert werden. Anhand der Nummer des Monats soll auf den Monatsnamen zugegriffen werden. Der Variablenname setzt sich aus dem Wort »Monat« und der Zahl zusammen. Die Variablendeklaration sieht also folgendermaßen aus:
    var monat1 = "Januar";
    var monat2 = "Februar";
    var monat3 = "März";
    var monat4 = "April";
    var monat5 = "Mai";
    var monat6 = "Juni";
    var monat7 = "Juli";
    var monat8 = "August";
    var monat9 = "September";
    var monat10 = "Oktober";
    var monat11 = "November";
    var monat12 = "Dezember";
Die Frage lautet nun: Wenn (beispielsweise in einer Variablen) die Monatsnummer vorliegt, wie erhält man dann daraus den Monatsnamen? Natürlich kann man eine Reihe von if-Anweisungen oder die switch-Anweisung verwenden. Schön wäre es jedoch, wenn man direkt den Variablennamen verwenden könnte. Folgender Code funktioniert natürlich nicht wie beabsichtigt:
    document.write("monat" + m);
In der JavaScript-Variablen m steht die Monatsnummer, aber obige Zeile würde die Zeichenkette "Monat", verkettet mit der Monatsnummer, ausgeben, also den Namen der Variablen (etwa "monat3" im März), nicht die Variable selbst. JavaScript bietet eine besondere Funktion, die es ermöglicht, Code auszuführen, der als Zeichenkette vorliegt. Diese Funktion heißt eval(). Als Parameter wird eine Zeichenkette übergeben, und eval() führt den JavaScript-Code aus, der in der Zeichenkette steht. Der folgende Aufruf gibt den Wert der Variablen zurück, nicht ihren Namen:
    eval("monat" + m);
Will man also den Monatsnamen auf dem Bildschirm ausgeben, kann man folgende Zeile verwenden:
    document.write(eval("monat" + m));
Alternativ dazu kann der document.write()-Befehl auch innerhalb der eval()-Klammern geschrieben werden:
    eval("document.write(monat" + m + ")");
Steht in der Variablen m beispielsweise der Wert 3, so würde der eval()-Befehl nach dem Einsetzen der Variablen folgendermaßen aussehen:
    eval("document.write(monat3)");
Und das ist genau das, was wir erreichen wollten: Der Wert der Variablen monat3 soll ausgegeben werden. Wenn in der Anweisung, die als Parameter an eval() übergeben wird, Anführungszeichen vorkommen, müssen Sie die herkömmlichen Regeln beachten, also entweder andere Anführungszeichen verwenden oder Anführungszeichen mit einem Backslash entwerten. Oft ist es jedoch sinnvoll, den Aufruf von eval() möglichst weit innen zu platzieren.
    document.write("Der Monatsname lautet "+eval("monat" + m));
### 4.5.2 Arrays Die obige Vorgehensweise funktioniert zwar tadellos, ist aber kompliziert, und auch hier werden die Befehle schnell unübersichtlich. In der Praxis werden zumeist so genannte Arrays verwendet. Das sind Variablencontainer, die mehrere Variablen enthalten können. Auf eine einzelne Variable im Container greift man über den Variablennamen und eine Nummer zu. Die Nummer nennt man auch Index. Standardmäßig wird ein Array in JavaScript folgendermaßen definiert:
    var a = new Array();
    a[1] = "Januar";
    a[2] = "Februar";
    //usw.
Mit der ersten Zeile, var a = new Array(), wird eine Array-Variable deklariert. Sie können auch Parameter angeben:
| Mit einem Parameter geben Sie an, wie viele Array-Elemente zunächst vorgesehen sind. (JavaScript erlaubt es aber, Arrays je nach Bedarf kleiner oder größer zu machen.)
| Mit mehreren Parametern geben Sie Werte an, die standardmäßig im Array liegen sollen: var a = new Array("Januar", "Februar", "März");
Der Index, über den auf ein Array-Element zugegriffen wird, steht in eckigen Klammern. JavaScript-Arrays beginnen, wie in vielen anderen Programmiersprachen und in Java übrigens auch, mit 0. Mit obigem Aufruf würde also a[2] auf März gesetzt. Sie müssten die Anweisung folgendermaßen modifizieren, damit a[3] den Wert "März" enthält:
    var a = new Array("", "Januar", "Februar", "März");
Eine ganz besondere Kurzform für Arrays gibt es auch – eckige Klammern:
    var a = ["Januar", "Februar", "März"];
Sie geben also nur die eckigen Klammern und die Werte an – das spart immerhin ein paar Zeichen. In Kapitel 18 werden Sie diese Kurzform wiederfinden, unter dem Namen JSON.
<< zurück | <top> | vor >>
Zum Katalog
JavaScript und AJAX bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| JavaScript und AJAX - Das Video-Training
| Webseiten programmieren und gestalten
| XHTML, HTML und CSS
| CSS-Praxis
| AJAX
| PHP 5 und MySQL 5
| TYPO3 4.0
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de