SELFHTML

Objektunabhängige Funktionen

Informationsseite

nach unten Allgemeines zu objektunabhängigen Funktionen
nach unten decodeURI() (kodierten URI dekodieren)
nach unten decodeURIComponent() (kodierten URI dekodieren - II)
nach unten encodeURI() (URI kodieren)
nach unten encodeURIComponent() (URI kodieren - II)
nach unten eval() (Ausdruck interpretieren)
nach unten escape() (ASCII-Zeichen in Zahlen umwandeln)
nach unten isFinite() (auf numerischen Wertebereich prüfen)
nach unten isNaN() (auf numerischen Wert prüfen)
nach unten parseFloat() (in Kommazahl umwandeln)
nach unten parseInt() (in Ganzzahl umwandeln)
nach unten Number() (auf numerischen Wert prüfen)
nach unten String() (in Zeichenkette umwandeln)
nach unten unescape() (Zahlen in ASCII-Zeichen umwandeln)

 nach unten 

Allgemeines zu objektunabhängigen Funktionen

Objektunabhängige Funktionen sind im Gegensatz zu selbst definierten Seite Funktionen in JavaScript bereits vordefiniert. Das heißt, Sie können diese Funktionen jederzeit aufrufen.

Es handelt sich um bestimmte, zum Teil mächtige JavaScript-Befehle, die in keines der JavaScript-Objekte passen und deshalb nicht der objektorientierten Richtung von JavaScript folgen.

nach obennach unten

JavaScript 1.5Netscape 6.0MS IE 5.5Opera 7Mozilla Firefox 1Konqueror 3.3Safari 1.2 decodeURI()

Dekodiert einen Seite URI, der mit nach unten encodeURI() kodiert wurde.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
Adresse = "http://www.example.org/cgi-bin/script.pl?Text=der übergebene Text&Name=Stefan Münz";
document.write("<b>Adresse unkodiert:<\/b> " + Adresse + "<br>");
Adresse = encodeURI(Adresse);
document.write("<b>Adresse kodiert:<\/b> " + Adresse + "<br>");
Adresse = decodeURI(Adresse);
document.write("<b>Adresse wieder dekodiert:<\/b> " + Adresse + "<br>");
</script>
</body></html>

Erläuterung:

Das Beispiel definiert eine typische Adresse mit Übergabeparametern an ein Script. Zunächst schreibt es die Adresse wie sie ist ins Dokument. Dann wird die Adresse mit encodeURI() behandelt und zur Kontrolle ausgegeben. Schließlich wird nach dem gleichen Schema decodeURI() angewendet und die Adresse nochmals ausgegeben.

nach obennach unten

JavaScript 1.5Netscape 6.0MS IE 5.5Opera 7Mozilla Firefox 1Konqueror 3.3Safari 1.2 decodeURIComponent()

Wie nach oben decodeURI(). Sollte aber nur auf Adressen oder Adressteile angewendet werden, die mit mit nach unten encodeURIComponent() kodiert wurden.

nach obennach unten

JavaScript 1.5Netscape 6.0MS IE 5.5Opera 7Mozilla Firefox 1Konqueror 3.3Safari 1.2 encodeURI()

Codiert einen String so, dass alle Zeichen, die in einer URL Sonderbedeutung hätten, in ungefährliche Zeichensequenzen umgewandelt werden. Besonders wichtig ist dies für Aufrufe von CGI-Scripts mit Parametern.

Kodiert werden alle Zeichen außer den folgenden:
0 bis 9
A bis Z
a bis z
- _ . ! ~ * ' ( )
, / ? : @ & = + $

Kodiert werden also beispielsweise deutsche Umlaute und Sonderzeichen, auch Leerzeichen, eckige und geschweifte Klammern usw.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var Adresse =
encodeURI("http://www.example.org/cgi-bin/script.pl?Text=der übergebene Text&Name=Stefan Münz");
document.write('<a href="' + Adresse + '">Verweis<\/a>');
</script>
</body></html>

Erläuterung:

Das Beispiel ruft die Funktion encodeURI() auf und übergibt ihr einen typischen URI mit Parametern. Der Rückgabewert der Funktion wird in der Variablen Adresse gespeichert. Anschließend wird dynamisch ein Verweis in die Datei geschrieben, wobei die zuvor encodierte Adresse ins href-Attribut eingefügt wird.

nach obennach unten

JavaScript 1.5Netscape 6.0MS IE 5.5Opera 7Mozilla Firefox 1Konqueror 3.3Safari 1.2 encodeURIComponent()

Wie nach oben encodeURI(), aber mit dem Unterschied, dass auch folgende Zeichen kodiert werden:
, / ? : @ & = + $

Diese Funktion muss verwendet werden, um mittels Javascript beliebige Strings an den Server zu übermitteln, sofern dies in GET- oder POST-Requests geschieht. Übliche Anwendungsbeispiele: Ajax mit dem XMLHttpRequest-Objekt (GET und POST), sowie per Javascript generierte Links mit URL-Parametern.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var Beispiel = "\n\r\t";
document.write(encodeURIComponent(Beispiel) + "
"); var Umlaute = "\u00E4+\u20AC"; document.write("encodeURIComponent("+Umlaute+") = "+ encodeURIComponent(Umlaute)); </script></body></html>

Erläuterung:

Die zwei Variablen Beispiel und Umlaute werden jeweils mit ein paar spezielleren Zeichen belegt und mit der Funktion encodeURIComponent() in das HTML-Dokument geschrieben.

Beachten Sie:

Diese Funktion codiert alle Zeichen, die nicht unverändert gelassen werden, gemäß UTF-8.

nach obennach unten

JavaScript 1.0Netscape 2.0MS IE 3.0Opera 5.12Mozilla Firefox 1Konqueror 3.1Safari 1.0 escape()

Wandelt Steuersequenzen (Steuerzeichen mit den ASCII-Werten 0 bis 31) und Sonderzeichen wie z.B. deutsche Umlaute in ihre Zahlenwerte gemäß ISO-8859-1 um, und zwar in hexadezimaler Form %XX. Zeichen außerhalb dieser Codierung werden als Unicode-Sequenz %uXXXX ausgegeben. Bei anderen Zeichen als Steuer- und Sonderzeichen gibt escape() die Zeichen unverändert zurück.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var Beispiel = "\n\r\t";
document.write(escape(Beispiel) + "
"); var Umlaute = "\u00E4+\u20AC"; document.write("escape("+Umlaute+") = "+ escape(Umlaute)); </script></body></html>

Erläuterung:

Das Beispiel definiert eine Variable Beispiel, der verschiedene Steuerzeichen zugewiesen werden (siehe dazu den Abschnitt über Seite Steuerzeichen). Die Zweite Variable enthält die Zeichen "ä+€" (die Notation mit "\uXYZ" ist die Schreibweise mit Unicode, wenn z.B. die Javascript-Datei nicht entsprechend in UTF-8 codiert werden kann). Diese Variablen werden der Funktion escape() jeweils als Parameter übergeben. Das Ergebnis wird zur Kontrolle ins Dokumentfenster geschrieben.

Beachten Sie:

Diese Funktion hat ein problematisches Verhalten bei diversen Zeichen (das Pluszeichen wird z.B. nicht verändert, obwohl es dadurch in der URL als Leerzeichen interpretiert würde), und ist deshalb durch nach oben encodeURI() und nach oben encodeURIComponent()ersetzt.

nach obennach unten

JavaScript 1.0Netscape 2.0MS IE 3.0Opera 5.12Mozilla Firefox 1Konqueror 3.1Safari 1.0 eval()

Interpretiert ein zu übergebendes Argument und gibt das Ergebnis zurück.
Wenn das übergebene Argument als Rechenoperation interpretierbar ist, wird die Operation berechnet und das Ergebnis zurückgegeben. Dabei sind auch komplexe Rechenausdrücke mit Klammerung möglich. Diese Funktionalität ist sehr praktisch, um als Zeichenketten notierte Rechenausdrücke mit einem einzigen Befehl errechnen zu lassen.
Wenn das übergebene Argument als Objekt oder Objekteigenschaft interpretiert werden kann, wird das Objekt bzw. die Objekteigenschaft zurückgegeben. Dies ist wichtig, wenn eine Zeichenkette (z.B. ein Formularfeldinhalt oder ein einer Funktion übergebener Parameter) als Objekt interpretiert werden soll.
Erzeugt eine Fehlermeldung, wenn der übergebene Ausdruck nicht interpretierbar ist.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<form action="">
<input type="name" size="30" name="Eingabe">
<input type="button" value="Berechnen" onclick="alert(eval(this.form.Eingabe.value))">
</form>
</body></html>

Erläuterung:

Das Beispiel enthält ein Formular mit einem Eingabefeld und einem Button. In dem Eingabefeld kann der Anwender eine Rechenoperation eingeben, zum Beispiel 1+2+3+4+5+6+7+8+9 oder 12.78*5.13. Beim Klick auf den Button wird der Wert aus dem Formular mit eval() berechnet und in einem Meldungsfenster ausgegeben.

nach obennach unten

JavaScript 1.3Netscape 4.xMS IE 4.0Opera 5.12Mozilla Firefox 1Konqueror 3.1Safari 1.0 isFinite()

Ermittelt, ob ein Wert sich innerhalb des Zahlenbereichs befindet, den JavaScript verarbeiten kann, also aus Sicht von JavaScript eine gültige Zahl darstellt.
Gibt true zurück, wenn der Wert eine gültige Zahl ist, und false, wenn es keine Zahl ist bzw. die Zahl sich außerhalb des Wertebereiches von JavaScript befindet. Sowohl ganze Zahlen als auch Kommazahlen werden als gültige Zahlen erkannt. Bei Kommazahlen muss das Dezimalzeichen ein Punkt sein.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
<script type="text/javascript">
var Zahl = Number.MAX_VALUE;
if (!isFinite(Zahl * 2))
  alert("Die Zahl ist nicht zu verarbeiten.");
</script>
</head><body>
</body></html>

Erläuterung:

Das Beispiel definiert eine Variable Zahl der als Wert Seite Number.MAX_VALUE die größte mögliche Zahl zugewiesen wird. In der anschließenden Abfrage wird geprüft, ob das Produkt dieser Zahl mit 2 sich innerhalb des verarbeitbaren Zahlenbereiches befindet. Ist dies nicht der Fall, so wird eine entsprechende Warnmeldung ausgegeben.

nach obennach unten

JavaScript 1.1Netscape 3.0MS IE 4.0Opera 5.12Mozilla Firefox 1Konqueror 3.1Safari 1.0 isNaN()

Ermittelt, ob ein zu übergebender Wert eine ungültige Zahl ist (NaN = Not a Number).
Gibt true zurück, wenn der Wert keine Zahl ist, und false, wenn es eine Zahl ist. Sowohl ganze Zahlen als auch Kommazahlen werden als gültige Zahlen anerkannt. Bei Kommazahlen muss das Dezimalzeichen ein Punkt sein.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
<script type="text/javascript">
function CheckZahl (Wert) {
  if (isNaN(Wert)) {
    alert(Wert + " ist keine Zahl!");
  }
}
</script>
</head><body>
<form action="">
<input type="name" size="30" name="Eingabe">
<input type="button" value="Check"
onclick="CheckZahl(this.form.Eingabe.value)">
</form>
</body></html>

Erläuterung:

Das Beispiel enthält ein Formular mit einem Eingabefeld und einem Button. Beim Klick auf den Button wird die Funktion CheckZahl() aufgerufen. Der Funktion wird der Wert aus dem Eingabefeld des Formulars als Parameter übergeben. CheckZahl() prüft, ob der übergebene Wert eine Zahl ist. Dazu wird isNaN() auf den übergebenen Wert angewendet. Wenn es keine Zahl ist, wird eine Fehlermeldung ausgegeben.

Beachten Sie:

Für diese Methode sind auch Zahlen, die außerhalb des Zahlenbereichs von JavaScript liegen, gültige Zahlen. Zur Überprüfung der Größe von Zahlen müssen Sie die Methode nach obenisFinite() verwenden.

nach obennach unten

JavaScript 1.0Netscape 2.0MS IE 3.0Opera 5.12Mozilla Firefox 1Konqueror 3.1Safari 1.0 parseFloat()

Wandelt eine zu übergebende Zeichenkette in eine Zahl um und gibt diese als numerischen Wert zurück. Wenn sich die Zahl als Kommazahl interpretieren lässt, wird dies berücksichtigt. Als Dezimalzeichen wird jedoch nur der Punkt interpretiert. Sinnvoll, um z.B. Anwendereingaben in Zahlen umzuwandeln, mit denen man anschließend rechnen kann.
Gibt NaN (Not a Number) zurück, wenn die Zeichenkette mit Zeichen beginnt, die sich nicht als Teil einer Zahl interpretieren lassen.
Wenn die Zeichenkette weiter hinten ungültige Zeichen enthält, wird die Zahl bis zum ersten ungültigen Zeichen interpretiert und der interpretierte Teil zurückgegeben.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var Elemente = new Array("18", "18.1", "18,9", "abc", "1a");
document.write("<h1>Anwendung von <i>parseFloat()<\/i><\/h1>");
for (var i = 0; i < Elemente.length; ++i)
  document.write(Elemente[i] + " = <b> " + parseFloat(Elemente[i]) + "<\/b><br>");
</script></body></html>

Erläuterung:

Das Beispiel definiert einen Seite Array mit verschiedenen Elementen, die teils ganze, teils Kommazahlen, teils gar keine Zahlen darstellen. Dann werden in einer for-Schleife alle Elemente des Arrays mit der Seite write()-Methode dynamisch in die Datei geschrieben. Dabei wird jedoch die Funktion parseFloat() auf das jeweilige Array-Element angewendet.

nach obennach unten

JavaScript 1.0Netscape 2.0MS IE 3.0Opera 5.12Mozilla Firefox 1Konqueror 3.1Safari 1.0 parseInt()

Wandelt eine zu übergebende Zeichenkette in eine Ganzzahl um und gibt diese als Ergebnis zurück. Sinnvoll, um z.B. Anwendereingaben in Zahlen umzuwandeln, mit denen man anschließend rechnen kann.
Gibt NaN (Not a Number) zurück, wenn die Zeichenkette mit Zeichen beginnt, die sich nicht als Teil einer Zahl interpretieren lassen.
Wenn die Zeichenkette weiter hinten ungültige Zeichen enthält, wird die Zahl bis zum ersten ungültigen Zeichen interpretiert und der interpretierte Teil zurückgegeben. Das gilt bei parseInt() auch für den Punkt.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var Elemente = new Array("18", "18.1", "18.9", "abc", "1a");
document.write("<h1>Anwendung von <i>parseInt()<\/i><\/h1>");
for (var i = 0; i < Elemente.length; ++i)
  document.write(Elemente[i] + " = <b> " + parseInt(Elemente[i]) + "<\/b><br>");
</script></body></html>

Erläuterung:

Das Beispiel definiert einen Seite Array mit verschiedenen Elementen, die teils ganze, teils Kommazahlen, teils gar keine Zahlen darstellen. Dann werden in einer for-Schleife alle Elemente des Arrays mit der Seite write()-Methode dynamisch in die Datei geschrieben. Dabei wird jedoch die Funktion parseInt() auf das jeweilige Array-Element angewendet.

Beachten Sie:

Die Methode parseInt() erlaubt einen zweiten, optionalen Parameter radix. Dieser Parameter enthält die Basis des verwendeten Zahlensystems. Der Aufruf parseInt(string, radix) ermittelt aus dem String, der eine Zahl eines anderen Zahlensystems darstellt, die dazugehörige Dezimalzahl. Die Methode parseInt() kann damit gleichzeitig als Umrechner von Zahlen anderer Zahlensysteme in das dezimale Zahlensystem verwendet werden. So ergibt z.B. der Aufruf parseInt("11111", 2) die Zahl 31. Der optionale Parameter kann Werte zwischen 2 und 36 annehmen. Mit der Methode Seite toString() des Seite Number-Objektes können Sie umgekehrt Dezimalzahlen in Zeichenketten von Zahlen anderer Zahlensysteme konvertieren. Dabei ist - im Gegensatz zur Methode parseInt() - auch das Umwandeln von Kommazahlen möglich.

Besonders im Bereich der Datumsberechnung werden häufig Zahlen mit führender Null benutzt. Einfache Aufgaben wie alert(08 * 60) liefern dann scheinbar falsche Ergebnisse oder gar Fehlermeldungen. Des Rätsels Lösung dafür ist, dass JavaScript Zahlen mit führender 0 als Oktalzahlen interpretiert, nicht als Dezimalzahlen. Mit einer Anweisung wie alert(parseInt("08", 10) * 60) können Sie das Problem vermeiden und erzwingen, dass der Wert dezimal interpretiert wird

nach obennach unten

JavaScript 1.2Netscape 4.0MS IE 4.0Opera 5.12Mozilla Firefox 1Konqueror 3.1Safari 1.0 Number()

Konvertiert den Inhalt eines Objekts in eine Zahl und gibt die Zahl zurück. Erwartet den Objektinhalt als Parameter. Wenn sich der übergebene Parameter nicht als Zahl interpretieren lässt, wird NaN (Not a Number) zurückgegeben.
Vor allem brauchbar in Verbindung mit dem Seite Date-Objekt.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var d = new Date("March 15, 1998 08:27:00");
document.write(Number(d));
</script></body></html>

Erläuterung:

Das Beispiel definiert ein neues Datumobjekt und initialisiert es mit einem Wert im GMT-Format. Das Datumobjekt wird in der Variablen d gespeichert. Anschließend wird diese Variable der Funktion Number() als Parameter übergeben. Die Funktion Number() hab dabei die gleiche Wirkung wie die Objektmethode d.getTime(), d.h. es wird die Anzahl Millisekunden zwischen dem 1.1.1970 und dem in d gespeicherten Zeitpunkt errechnet. Im Beispiel wird das Ergebnis zur Kontrolle in die Datei geschrieben.

nach obennach unten

JavaScript 1.2Netscape 4.0MS IE 4.0Opera 5.12Mozilla Firefox 1Konqueror 3.1Safari 1.0 String()

Konvertiert den Inhalt eines Objekts in eine Zeichenkette und gibt die Zeichenkette zurück.
Vor allem brauchbar in Verbindung mit dem Seite Date-Objekt.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var d = new Date();
document.write(String(d));
</script></body></html>

Erläuterung:

Das Beispiel definiert ein neues Datumobjekt mit dem aktuellen Zeitpunkt. Das Datumobjekt wird in der Variablen d gespeichert. Anschließend wird diese Variable der Funktion String() als Parameter übergeben. Die Funktion erzeugt daraus eine Zeichenkette, die den gespeicherten Zeitpunkt im GMT-Format darstellt. Im Beispiel wird das Ergebnis zur Kontrolle in die Datei geschrieben.

nach obennach unten

JavaScript 1.0Netscape 2.0MS IE 3.0Opera 5.12Mozilla Firefox 1Konqueror 3.1Safari 1.0 unescape()

Wandelt alle Zeichen der zu übergebenden Zeichenkette in normale ASCII-Zeichen um und gibt die so erzeugte Zeichenkette zurück. Die zu übergebende Zeichenkette muss für jedes umzuwandelnde Zeichen ein Prozentzeichen (%) und den Hexadezimalwert des Zeichens in der ASCII-Zeichentabelle enthalten.

Beispiel:

Beispiel-Seite Anzeigebeispiel: So sieht's aus

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var Beispiel = "%53%74%65%66%61%6E";
document.write(unescape(Beispiel));
</script></body></html>

Erläuterung:

Das Beispiel definiert eine Variable namens Beispiel und weist ihr eine Zeichenkette zu. Die Zeichenkette besteht aus einer Reihenfolge von hexadezimal kodierten Zeichen. Jedes Zeichen beginnt mit einem Prozentzeichen, dahinter folgt der Hexadezimalwert des Zeichens. Diese Variable wird der Funktion unescape() als Parameter übergeben. Das Ergebnis wird zur Kontrolle in die Datei geschrieben. Im Beispiel wird das Wort "Stefan" erzeugt.

Beachten Sie:

Diese Funktion wird in Zukunft durch nach oben decodeURI() ersetzt!

 nach oben
weiter Seite Zwei Frames gleichzeitig ändern
zurück Seite String
 

© 2007 Seite Impressum Flattr this