Einzelne Aufrufe in JavaScript
In dieser Lektion werden kurz einzelne Aufrufe vorgestellt, die manchmal nützlich sein können.
»Number.prototype.toFixed.call« – Formatierung von Nachkommastellen
- Auswertung
Number.prototype.toFixed.call( 1.2345678, 2 )
1.23
- Auswertung
typeof Number.prototype.toFixed.call( 1.2345678, 2 )
"string"
- Auswertung
Number.prototype.toFixed.call( 12, 2 )
12.00
Erst viel später im Kurs wird erklärt, warum diese Funktion »call« in einem so tief verschachtelten Unterverzeichnis enthalten ist.
»Number« – Wandlung in eine Zahl
- Auswertung
Number( true )
1
»String« – Wandlung in einen String
- Auswertung
String( true )
"true"
»parseInt« – Wandlung einer Zeichenfolge in eine Zahl
Falls das Zahlensystem nicht angegeben ist, war das Verhalten dieser Funktion unter ECMAScript 3 für einige Fälle nicht festgelegt, und es war besonders wichtig darauf zu achten, die gewünschte Zahlensystembasis als zweites Argument anzugen.
- Auswertung
typeof "12"
"string"
- Auswertung
parseInt( "12", 10 )
12
- Auswertung
typeof parseInt( "12", 10 )
"number"
Ab ECMAScript 5 ist das Verhalten dieser Funktion umfassender festgelegt worden, aber es ist immer noch gut, also zweites Argument »10« anzugeben, wenn man ein Numerale des Zehnersystems auswerten lassen will.
- Auswertung
parseInt( "12", 10 )
12
»Math.round« – Runden
- Auswertung
Math.round( 4.7 )
5
»String.fromCharCode« – Zeichen einer Kennzahl
- Auswertung
String.fromCharCode( 38 )
&
»btoa« – Wandlung nach Basis-64
Stellt einen Klartext mit Basis-64 dar.
- Auswertung
this.btoa( "+$." )
"KyQu"
Die Basis-64-Darstellung verwendet nur Buchstaben und Ziffern und kann daher über einen Kanal übertragen werden, der keine Sonderzeichen durchläßt.
Manchmal findet man sie beispielsweise in Texten wie »=?UTF-8?B?…?=«. Hier kennzeichnet »B« die Verwendung einer Basis-64-Darstellung.
»atob« – Wandlung von Basis-64
Ergibt den Klartext eines mit Basis-64-kodierten Text.
- Auswertung
this.atob( "KyQu" )
"+$."
»Boolean« – Wandlung in einen Wahrheitswert
- Auswertung
Boolean( 1 )
true
»isNaN« – erkennt »NaN«
(wurde schon behandelt.)
»String.prototype.substring.call« – Teilfolge
Die erste Position einer Zeichenfolge ist die Position 0. Bei dieser Funktion erhält man eine Teilfolge von der zuerst angegebenen Position (einschließlich) bis zur zuletzt angegebenen (ausschließlich).
- Auswertung
String.prototype.substring.call( "abcdefghijk", 2, 5 )
cde
Erst viel später im Kurs wird erklärt, warum diese Funktion »call« in einem so tief verschachtelten Unterverzeichnis enthalten ist.
»String.prototype.codePointAt.call« – Teilfolge
Ergibt die Kennzahl des Zeichens an der angegebenenen Position.
- Auswertung
String.prototype.codePointAt.call( "abcdefghijk", 2 )
99
Erst viel später im Kurs wird erklärt, warum diese Funktion »call« in einem so tief verschachtelten Unterverzeichnis enthalten ist.
»encodeURIComponent« – Kodierung eines URI-Teils
Diese Funktion kodiert eine Zeichenfolge so, daß sie als Wert in der query-Komponente (siehe RFC 3986) einer URI verwendet werden kann.
- Auswertung
encodeURIComponent( "~!@#$&*()=:/,;?+'" )
"~!%40%23%24%26*()%3D%3A%2F%2C%3B%3F%2B'"
Daneben gibt es noch die verwandten Funktionen »encodeURI« und »escape«, die etwas weniger Zeichen für spezielle Anwendungen kodieren.
»decodeURIComponent« – Dekodierung eines URI-Teils
Eine Kombination von »decodeURIComponent« und »escape« erlaubt es, UTF-8 zu „dekodieren“, das fälschlicherweise mit ISO-8859-1 dekodiert wurde.
- Auswertung
decodeURIComponent( escape( "Wünsche" ))
"Wünsche"
Die Funktion »escape« wandelt die Sonderzeichen zunächst einzeln in eine URI-Darstellung um. Diese Umwandlung basiert also auf ISO-8859-1.
- Auswertung
escape( "Wünsche" )
"W%C3%BCnsche"
- Auswertung
escape( "Wünsche" )
"W%C3%BCnsche"
So ergibt »Ã¼« (zwei Zeichen) beispielsweise »%C3%BC« (zwei %-Darstellungen).
Die Funktion »decodeURIComponent« interpretiert Sequenzen von %-Darstellungen mit UTF-8.
- Auswertung
decodeURIComponent( "W%C3%BCnsche" )
"Wünsche"
So ergibt »%C3%BC« (zwei %-Darstellungen) dann beispielsweise ein »ü« (ein Zeichen).
Anmerkung
Die Funktion »escape« wurde 2015 als veraltend gekennzeichnet, das heißt, daß sie nicht mehr in neuem bibliotheksfähigem Code verwendet werden sollte.
- Bibliotheksfähiger Code ist Code, der Qualitätsanforderung erfüllt, die ihn zur Verwendung in wichtigen Programmen oder Bibliotheken geeignet machen.
Anmerkung
Eine UTF-8 - und base64 -kodierte E-Mail kann also mit »decodeURIComponent( escape( atob( `mailtext` )))« dekodiert werden.
Anmerkung
Beim Kopieren der folgenden Eingabezeile in die Konsole mancher Browser wird das Zeichen »¶« unter Umständen nicht richtig mitkopiert und es erscheint dann:
- Auswertung
decodeURIComponent( escape( "schÃnste Wünsche Mäulchen" ));
URIError: malformed URI sequence
In diesem Fall ist das Wort »schönste« zu löschen.
- Auswertung
decodeURIComponent( escape( "Wünsche Mäulchen" ));
"Wünsche Mäulchen"
Manchmal kann das »¶« (Kenzahl 182 in ISO-8859-1 und Unicode) auch noch nachträglich einzeln kopiert werden.
Die folgende Eingabe erzeugt die Code-Sequenz im Browser, von wo aus sie dann kopiert werden kann.
- Auswertung
String.fromCharCode( 100, 101, 99, 111, 100, 101, 85, 82, 73, 67,
111, 109, 112, 111, 110, 101, 110, 116, 40, 32, 101, 115, 99, 97,
112, 101, 40, 32, 34, 115, 99, 104, 195, 182, 110, 115, 116, 101,
32, 87, 195, 188, 110, 115, 99, 104, 101, 32, 77, 195, 164, 117,
108, 99, 104, 101, 110, 34, 32, 41, 41, 59, 32)"decodeURIComponent( escape( "schönste Wünsche Mäulchen" )); "
decodeURIComponent( escape( "schönste Wünsche Mäulchen" ));
Übersicht
In der folgenden Übersicht steht »this« für das globale Verzeichnis.
- Übersicht der Namen
Name Art Bedeutung
this.atob Funktion Basis-64 nach Text
this.Boolean Funktion Darstellung als Wahrheitswert
this.btoa Funktion Text nach Basis-64
this.decodeURIComponent Funktion URI-Text dekodieren
this.encodeURIComponent Funktion Darstellung als URI-Text
this.escape Funktion ISO-8859-1 als URI-Text (veraltend)
this.Infinity Zahl Unendlich
this.Math.PI Zahl die Kreiszahl Pi
this.Math.abs Funktion Betrag
this.Math.floor Funktion Boden
this.Math.hypot Funktion Hypotenuse
this.Math.isNaN Funktion "ist NaN"
this.Math.parseFloat Funktion Zahl eines Numerales
this.Math.max Funktion Maximum
this.Math.pow Funktion Potenzieren
this.Math.random Funktion Zufallszahl
this.Math.round Funktion Runden
this.Math.sin Funktion Sinus
this.Math.sqrt Funktion Quadratwurzel
this.Number Funktion Darstellung als Zahl
this.Number.prototype.toFixed.call Funktion
this.parseInt Funktion Darstellung als Zahl
this.String Funktion Darstellung als String
this.String.fromCharCode Funktion Text zu Kennzahlen
String.prototype.codePointAt.call Funktion Kennzahl eines Zeichens
this.String.prototype.substring.call Funktion Textausschnitt
this.undefined Wert "kein Wert"
this.NaN Zahl "keine Zahl"