Statische Aufrufe in JavaScript (Statische Aufrufe in JavaScript), Lektion, Seite 722572
https://www.purl.org/stefan_ram/pub/statische_aufrufe_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

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"

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722572 stefan_ram:722572 Statische Aufrufe in JavaScript Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722572, slrprddef722572, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/statische_aufrufe_javascript