Ziele in JavaScript [] (Ziele in JavaScript), Notizen, Seite 723563
https://www.purl.org/stefan_ram/pub/ziele_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

Ziele in JavaScript 

Wir haben bereits behandelt, daß Argumente Werte sind, die beim Aufruf einer Funktion an diese Funktion übergeben werden können.

Es gibt neben den Argumenten bei einigen Funktionen aber auch noch einen anderen Wert, der ihn übergeben werden kann oder muß – das Ziel.

Wir betrachten beispielsweise die Funktion »this.String.prototype.toLowerCase«, welche einen kleingeschriebenen Text ergibt.

Diese Funktion kann auf die bisher behandelte Weise nicht aufgerufen werden!

Auswertung

this.String.prototype.toLowerCase( "AbCd" )

""

Der Aufruf führt zwar nicht zu einer Fehlermeldung, aber er liefert nicht das richtige Ergebnis.

Die Funktion »this.String.prototype.toLowerCase« enthält vielmehr eine andere Funktion »call«, die zum Aufruf verwendet werden muß.

Auswertung

this.String.prototype.toLowerCase.call( "AbCd" )

"abcd"

Die Funktion »call« nicht einen normalen Argumentwert entgegen und sorgt dann dafür, daß die sie enthaltende Funktion »toLowerCase« mit diesem Argumentwert als Ziel aufgerufen wird. Dadurch kann sie den Text »AbCd« dann richtig verarbeiten.

Das Verzeichnis »this.String.prototype« enthält einige für die Verarbeitung von Zeichenfolgen nützliche Funktionen, die aber alle mit Hilfe von »call« aufgerufen werden müssen. Wenn »call« mehrere Argumente erhält, so wird das erste als Ziel an die enthaltenden Funktion weitergegeben und alle anderen werden in der gegebenen Reihenfolge zu Argumente. Der direkt folgende Aufruf ruft »this.String.prototype.replace« beispielsweise mit dem Ziel »AbCd« und den beiden Argumenten »b« und »x« (in dieser Reihenfolge) auf.

Auswertung

this.String.prototype.replace.call( "AbCd", "b", "x" )

"AxCd"

Warum kann man »this.String.prototype.replace« nun nicht direkt, sondern nur über den Umweg über »call« aufrufen?

Der genaue Grund dafür wird erst später in diesem Kurs erklärt werden. Wir haben durch die Behandlung von »call« in dieser Lektion allerdings nun zwei Vorteile gewonnen: Zum einen wissen wir jetzt grundsätzlich, wie wir die manchmal nützlichen Funktionen aus dem Verzeichnis »this.String.prototype« aufrufen, und zum anderen sind wir jetzt schon auf die spätere, vertiefende Behandlung dieses Themas vorbereitet.

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 stefanram723563 stefan_ram:723563 Ziele in JavaScript Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723563, slrprddef723563, 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/ziele_javascript