x = String.Eigenschaft;
y = String.Methode(Übergabewert);
Zur Darstellung der verschiedenen Verarbeitungsmöglichkeiten soll als Beispiel die Variable zitat mit der Zeichenkette "Sein oder nicht sein," verwendet werden (''zitat = "Sein oder nicht sein,"''). Der Zugriff auf das erste Zeichen erfolgt im Folgenden über den Index 0. Auf das zweite Zeichen greifen Sie mit dem Index 1 zu usw.
{{:inf:js:js-70-1.jpg?800&direct|}}
{{:inf:js:js-71-1.jpg?800&direct|}}
Beispiel: [[http://elearn.bgamstetten.ac.at/wiki/addons/JS/objekt_string1.html|objekt_string1.html]]
Vorgabe: zitat1='Sein oder nicht sein,';
| Methode | Beispiel | Ausgabe |
| anchor(Anker) | zitat1.anchor("#anker"); | |
| big() | zitat1.big() | |
| blink() | zitat1.blink() | |
| bold() | zitat1.bold() | |
| fixed() | zitat1.fixed() | |
| fontcolor() | zitat1.fontcolor("red") | |
| fontsize() | zitat1.fontsize("+2") | |
| italics() | zitat1.italics() | |
| link(Hyperlink) | zitat1.link("http://www.mein.web") | |
| small() | zitat1.small() | |
| strike() | zitat1.strike() | |
| sub() | zitat1.sub() | |
| sup() | zitat1.sup() |
| Eigenschaft | Bedeutung | Beispiel | Ausgabe |
| E | Eulersche Zahl | Math.E | |
| LN2 | Natürlicher Logarithmus von 2 | Math.LN2 | |
| LN10 | Natürlicher Logarithmus von 10 | Math.LN10 | |
| LOG2E | Logarithmus von e zur Basis 2 | Math.LOG2E | |
| LOG10E | Logarithmus von e zur Basis 10 | Math.LOG10E | |
| PI | Zahl π | Math.PI | |
| SQRT1_2 | 1 dividiert durch die Wurzel von 2 | Math.SQRT1_2 | |
| SQRT2 | Wurzel aus 2 | Math.SQRT2 |
| Methode | Bedeutung | Wertebereich | Beispiel | Ausgabe |
| abs(Zahl) | Absolutwert | Reale Zahlen | Math.abs(-9) | |
| acos(Zahl) | Arcuscosinus | [-1;1] | Math.acos(-1) | |
| asin(Zahl) | Arcussinus | [-1;1] | Math.asin(0.5) | |
| atan(Zahl) | Arcustangens | [-1;1] | Math.atan(-0.5) | |
| ceil(Zahl) | Aufrunden zur nächsten Ganzzahl | Reale Zahlen | Math.ceil(9.3) | |
| cos(Zahl) | Cosinus | Reale Zahlen (Rad) | Math.cos(Math.PI) | |
| exp(Zahl) | Exponentialwert der Zahl auf Basis der Eulerschen Konstanten E | Reale Zahlen | Math.exp(9.3) | |
| floor(Zahl) | Abrunden zur nächsten Ganzzahl | Reale Zahlen | Math.floor(3.9) | |
| log(Zahl) | Natürlicher Logarithmus | Reale Zahlen > 0 | Math.log(3.9) | |
| max(Zahl1, Zahl2) | Rückgabe der größeren Zahl | Reale Zahlen | Math.max(9,3) | |
| min(Zahl1, Zahl2) | Rückgabe der kleineren Zahl | Reale Zahlen | Math.min(9,3) | |
| pow(Zahl1, Zahl2) | Exponentialfunktion "Zahl1 hoch Zahl2" | Reale Zahlen | Math.pow(9,3) | |
| random() | Zufallszahl zwischen 0 und 1 | Math.random() | ||
| round(Zahl) | kaufmännisches Runden | Reale Zahlen | Math.round(3.5) | |
| sin(Zahl) | Sinus | Reale Zahlen (Rad) | Math.sin(Math.PI/2) | |
| sqrt(Zahl) | Quadratwurzel | Reale Zahlen > 0 | Math.sqrt(9) | |
| tan(Zahl) | Tangens | Reale Zahlen (Rad) | Math.tan(Math.PI/4) |
if (Zahl1 * Zahl2 <= Number.MAX VALUE)
funktion1();
else
funktion2();
Des Weiteren können wir überprüfen, ob eine Variable in einem Wertebereich liegt. In diesem Beispiel liegt der Wert für die Variable monat nicht im Wertebereich zwischen 1 und 12. Die Variable monat wird auf einen ungültigen Wert gesetzt, indem ihr über die Eigenschaft Number. NaN der Wert NaN zugewiesen wird.
var monat = 13
if (monat<1 || monat>12) {
monat = Number.NaN
alert("Der Monatswert muss zwischen 1 und 12 liegen.");
}
Mit den folgenden Methoden können wir die Ausgabe von Zahlen formatieren. In Klammern wird eine Zahl angegeben, die die Genauigkeit der Ausgabe festlegt. Ohne eine Parameterangabe wird die Standardeinstellung verwendet.
{{:inf:js:js-75-1.jpg?700$direct|}}
Gibt man als Objekt den Wert als Literal an, so ist die Methode mit einem Leerzeichen Abstand anzugeben, z.B. ''77 .toExponential()'' oder ''(77) . toExponential()'' statt ''77.toExponential()''.
Beispiel: [[http://elearn.bgamstetten.ac.at/wiki/addons/JS/objekt_number.html|objekt_number.html]]
Ein Beispiel mit einigen Methoden des Objekts ''Number''.
var Feldname = new Array(); // leeres Feld
Feldname[1] = 100;
Feldname[4] = "Test"; // die Feldlänge ist 5, da der Index bei 0 beginnt
Sie teilen bereits beim Erzeugen des Objekts mit, wie viele Elemente es enthalten wird.
var name = new Array(4); // das Feld wird 4 Elemente aufnehmen.
Wir können dem ''Array''-Objekt bereits die gewünschten Werte zuweisen. Die einzelnen Werte werden mit Komma voneinander getrennt.
// dem Feld werden vier Namen zugewiesen
var name = ["Müller","Schmidt","Schulze","Lehmann"];
// oder
var name = new Array(4);
name[0] = "Müller";
name[1] = "Schmidt";
name[2] = "Schulze";
name[3] = "Lehmann";
Der Zugriff auf ein einzelnes Element des Feldes erfolgt über die Angabe eines Index, den Sie in eckigen Klammern angeben müssen. So erhalten Sie mit ''name[0]'' das erste Element des Feldes ''name'', mit ''name [1]'' das zweite Element usw.
==== Assoziative Felder ====
Eine weitere Möglichkeit, Elemente von Feldern anzulegen und anzusprechen, sind assoziative Felder. Bei ihnen werden keine fortlaufenden Indizes zur Adressierung eines Eintrags im Array verwendet, sondern Zeichenketten.
var Stadt = new Array();
Stadt["Wohnort"] = "Frankfurt";
Stadt["Hauptstadt"] = "Berlin";
Stadt["Messestadt"] = "Leipzig";
Den Elementen können Sie dadurch eine beliebige Bezeichnung zuordnen, wobei der Zugriff auf die Feldelemente folgendermaßen erfolgt:
element = "Hauptstadt"; Stadtauswahl = Stadt[element];
oder über die Angabe der Zeichenkette:
Stadtauswahl = Stadt["Hauptstadt"];
Das Auslesen eines Elements wird direkt über dessen Bezeichnung realisiert. Dazu wird die Elementbezeichnung über eine Variable oder direkt in den eckigen Klammern des Feldes angegeben. In beiden Fällen der gezeigten Beispiele ist der Rückgabewert Berlin.
==== Methoden und Eigenschaften ====
Ein ''Array''-Objekt besitzt nur die Eigenschaft ''length'', womit die Anzahl der gespeicherten oder bei der In-stanziierung definierten Werte ausgelesen werden kann. Nach der Instanziierung ''var Feldname = new Array(4);'' liefert ''Feldname.length'' den Wert 4. Das letzte Element erhalten Sie direkt über die Angabe der Feldlänge, z.B. ''name[name.length-1]''.
Ein Objekt vom Typ ''Array()'' besitzt neben der Eigenschaft length auch mehrere Methoden, um auf die Feldelemente zuzugreifen.
{{:inf:js:js-77-1.jpg?700$direct|}}
Zusätzlich können wir in der Methode ''sort()'' eine Funktion hinterlegen, mit der Sie die Sortierungslogik (d. h. den Vergleich zweier Elemente) selbst durchführen können.
**Beispiel**
function sortiere(a, b) {
return a - b;
}
ArrayName.sort(sortiere);
Die Reihenfolge der Elemente wird gemäß der Sortierfunktion verändert. Die Sortierfunktion muss zwei Parameter entgegennehmen und eine Ganzzahl zurückliefern. Die Elemente des Arrays werden über diese Funktion verglichen und je nach Vorzeichen der Ganzzahl sortiert.
* ''<0:'' Der zweite Wert ist kleiner als der erste.
* ''=0:'' Beide Werte sind gleich.
* ''>0:'' Der erste Wert ist kleiner als der zweite.
Wird keine Funktion angegeben, werden die Elemente nach ihren ASCII-Codes sortiert (auch Zahlen).
Die in der nachfolgenden Tabelle angegebenen Array-Methoden wurden ab JavaScript 1.6 implementiert.
{{:inf:js:js-78-1.jpg?700$direct|}}
\\ \\
===== Objekt Date für Zeitangaben =====
Auf die Systemzeit wird in JavaScript über das ''Date''-Objekt zugegriffen. Instanzen des Objekts geben nicht nur das aktuelle Datum wieder, sondern sie lassen sich auch für beliebige Kalendertage und Uhrzeiten erzeugen und können so die verschiedensten Aufgaben erfüllen.
In JavaScript wird die Zeit, die seit dem 1. Januar 1970 um 0:00 Uhr vergangen ist, in Millisekunden gespeichert. Dies bedeutet, dass Sie kein Datum verarbeiten können, das vor diesem Zeitpunkt liegt.
Es gibt drei verschiedene Möglichkeiten, um ein Datumsobjekt zu initialisieren:
* Werden bei der Initialisierung keine Parameter angegeben, so wird das Objekt mit dem aktuellen Datum und der aktuellen Uhrzeit initialisiert.\\
var Variable = new Date();
* Wir können aber auch der Variablen ein bestimmtes Datum und eine Uhrzeit zuordnen. Dazu gibt man die entsprechenden Werte in Form einer Zeichenkette an.\\
var Variable = new Date("Monatsname_englisch Tag, Jahr Stunde:Minute:Sekunde")
* Das Datum und die Uhrzeit lassen sich auch in numerischer Form angeben.
var Variable = new Date(Jahr, Monat, Tag, Stunde, Minute, Sekunde);
**Beispiel**
var zeitl = new Date(); // aktuelles Datum und Uhrzeit wird übergeben
var zeit2 = new Date("September 22, 2008 10:24:00'); // 22.09.2008 um 10:24 Uhr
var zeit3 = new Date(2008,8,22,10,24,00); // 22.09.2008 um 10:24 Uhr
Bei der Initialisierung in numerischer Form ist zu beachten, dass die Monate im Wertebereich von 0 bis 11 liegen (0 = Januar, 1 = Februar ...11= Dezember). Außerdem können Sie die Parameter für die Angabe der Uhrzeit weglassen. Diese wird automatisch auf 0:00 Uhr gesetzt.
var zeit3 = new Date (2008,22); // 22.09.2008 um 0:00 Uhr
==== Methoden des Date-Objekts ====
Nach der Instanziierung eines ''Date''-Objekts ist das in ihm gespeicherte Datum über seine Methoden zugänglich. Folgende Methoden stehen dazu zur Verfügung:
{{:inf:js:js-79-1.jpg?700&direct|}}
Über die folgenden Methoden können Sie das Datum in andere Formate umwandeln.
{{:inf:js:js-79-2.jpg?700&direct|}}
Es existieren außerdem die beiden Methoden ''parse()'' und ''utc()''. Mit den Methoden ''parse(Datumszeichenkette)'' und ''utc(Jahr,Monat,Tag,Std.,Min.,Sek.)'' können wir Datumsangaben in Millisekunden ausgeben (UTC=Universal Time Coordinate). Beide Methoden stehen bei selbst definierten Date-Objekten nicht zur Verfügung. Um diese Methoden zu verwenden, muss die Schreibweise ''Date.parse(Parameter)'' bzw. ''Date.UTC(Parameter)'' verwendet werden.
Verwenden Sie nicht mehr die bisherige Methode ''getYear()''. Da diese Methode nicht Jahr-2000-kompatibel ist, liefert sie in den Mozilla-Browsern nur die Differenz zum Jahr 1900 zurück. Die neue Methode ''getFullYear()'' liefert hingegen in allen Browsern das korrekte Jahr zurück.
==== Datumsangaben verändern ====
Mit den folgenden Methoden ändern Sie die Datumsangaben. Diese Änderungen sind nur innerhalb des JavaScripts gültig, die Systemzeit Ihres Computers wird dadurch nicht verändert.
{{:inf:js:js-80-1.jpg?700&direct|}}
Die Wertebereiche der Parameter entsprechen den Rückgabewerten der zugehörigen get-Methoden. Date-Objekte können zum Darstellen, Speichern und Berechnen von Zeitangaben verwendet werden.
Beispiel: [[http://elearn.bgamstetten.ac.at/wiki/addons/JS/objekt_date.html|objekt_date.html]]
Das folgende Beispiel enthält einige Methoden zum Auslesen und Manipulieren von Datum und Uhrzeit mit-hilfe von JavaScript. Weiterhin wird das Datum ermittelt und ausgegeben, das in 150 Tagen erreicht wird.
/Pattern/Flag
Die Schrägstriche sind sogenannte Delimiter (Begrenzer), die den Anfang und das Ende des Musters kennzeichnen. Ein Delimiter darf jedes beliebige nicht alphanumerische Zeichen (außer dem Schrägstrich) sein. Das Pattern ist der Hauptteil, welches das Suchmuster beinhaltet. Der letzte Teil besteht aus den Flags, die das Suchmuster beeinflussen.
Instanzen aus regulären Ausdrücken erzeugen
var Suchel = /sel/
var Suche2 = new RegExp("sel")
Der einfachste Weg ist es, einer Variablen einen regulären Ausdruck zuzuweisen. Die erste Instanziierung verwenden Sie, wenn das Suchmuster nicht verändert werden muss. Die zweite Variante sollten Sie anwenden, wenn das Suchmuster innerhalb des Skripts geändert wird. In beiden Fällen wird die erste Fundstelle gesucht, die die Zeichenkette sei enthält.
==== Flags ====
Einem Ausdruck können Sie die beiden Flags ''g'' und ''i'' anfügen.
* ''g'' bedeutet, dass die Suche nach dem Ausdruck global erfolgen soll. Nach dem ersten Treffer wird die Suche fortgesetzt, sodass mehrere Treffer gefunden werden können.
* ''i'' lässt bei der Suche die Groß- und Kleinschreibung unberücksichtigt.
var Suche = /sel/gi
==== Metazeichen ====
Für die Definition des Musters können Sie Metazeichen verwenden, die bestimmte Sonderfälle markieren. Folgende Metazeichen werden von JavaScript interpretiert:
{{:inf:js:js-83-1.jpg?700&direct|}}
Mit den nachfolgenden Metazeichen geben Sie die Häufigkeit des Suchbegriffs an.
{{:inf:js:js-83-2.jpg?700&direct|}}
Wollen Sie nach den Zeichen %%. [ ] * ? { } ( ) ^%% oder %%$%% suchen, müssen diese mit einem Backslash %%\%% eingeleitet werden, da sie ansonsten als Metazeichen interpretiert werden. Das gilt auch für den Backslash selbst. Nach ihm wird mit einem doppelten Backslash gesucht %%\\%%, z.B:
var Suche = /\D:\\Daten\\Grafiken\\Apfel\.GIF/i;
Dieses Suchmuster passt beispielweise auf die Zeichenkette ''D:\DATEN\Grafiken\aPfel.gif'', da die Groß-und Kleinschreibung nicht beachtet wird.
==== Methoden ====
Damit Sie eine Suche durchführen können, verwenden Sie die Methoden des regulären Ausdrucks.
{{:inf:js:js-84-1.jpg?700&direct|}}
Beispiel: [[http://elearn.bgamstetten.ac.at/wiki/addons/JS/objekt_regexp.html|objekt_regexp.html]]
Es wird eine vorgegebene Zeichenkette nach dem Auftreten bestimmter Suchmuster verarbeitet.