Parameter der Dokumentation in JavaScript (Parameter der Dokumentation in JavaScript), Lektion, Seite 722792
https://www.purl.org/stefan_ram/pub/parameter_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

Parameter der Dokumentation in JavaScript 

Das in dieser Lektion vermittelte Verständnis von Parameterbeschreibungen aus der Dokumentation erschließt die Möglichkeit zum Nutzung einer Vielzahl vordefinierter Funktionen.

Beispiel einer Dokumentation

Entfernt man aus einem Aufrufausdruck den Argumentausdruck, so enthält man einen Rahmen mit einer Lücke, wie beispielsweise den Rahmen ≫Math.floor( )≪ mit einer Lücke »« in den runden Klammern. Solch eine Lücke an der Stelle eines entfernten Argumentausdrucks nennt man einen Para̲meter  (Substantiv mit Genus Maskulinum und Betonung auf der zweiten Silbe, die Linie unter dem zweiten „a“ kennzeichnet die Betonung). Ein Para̲meter drückt die Erwartung  eines Argumentes aus. Der Para̲meter kennzeichnet die Stelle, an welcher ein Argumentausdruck erwartet wird. Ein Para̲meter ist wie eine Lücke, die dann vom Argument gefüllt werden kann.

In der Dokumentation einer Funktion findet man eine oft Parameter mit einem Namen wie beispielsweise »x«.

Wir zeigen im folgenden die Dokumentation des Namens ≫Math.floor≪.

ECMAScript 2015 (vereinfacht und übersetzt)
Math.floor( x )
Ergibt den Boden (abgerundeten Wert) von »x«.

Am Anfang der Dokumentation findet sich eine Zeile mit dem Name der Funktion mit Klammern, die einen Parameternamen (wie »x«) enthalten können. Diese Zeile nennen wir die Kopfzeile  der Dokumentation der Funktion.

An den Klammern hinter dem Namen kann man erkennen, daß es sich um eine Funktion handelt.

Unter der Kopfzeile findet sich ein Text, der in einer natürlichen Sprache wie Englisch oder Deutsch verfaßt ist. Diesen Text nennen wir die Prosa  der Dokumentation der Funktion.

Para̲meternamen Damit man sich (beispielsweise in der Prosa) besser auf einen Para̲meter beziehen kann, hat ein Para̲meter einen Namen, den Para̲meternamen. Der Para̲metername ist eine Bezeichnung für einen Wert (wie beispielsweise eine Zahl), welcher dann erst durch die Angabe eines Argumentausdrucks konkret bestimmt wird. Ein Para̲metername hat jedoch für einen Aufruf einer Funktion sonst keine Bedeutung. Er erleichtert es nur, sich in der Dokumentation einer Funktion auf den Para̲meter zu beziehen. Der Parametername der obenstehenden Dokumentation lautet »x«.

Das Argument von ≫Math.floor

Die Anzahl der Parameter der Dokumentation drückt aus, mit wie vielen  Argumenten eine Funktion aufgerufen werden sollte.

Der Prosa kann oft entnommen werden, daß Argumentwerte eines bestimmten Typs  (Zahl oder Zeichenfolge) erwartet werden.

Die Dokumentation der Funktion ≫Math.floor≪ drückt beispielsweise aus, daß ein Argument erwartet wird, das eine Zahl darstellt, und daß der Wert des gesamten Aufrufausdrucks dann die Abrundung dieser Zahl darstellt.

Das heißt, beim Aufruf der Funktion sollte ein Ausdruck in die Klammern geschrieben werden, der eine Zahl darstellt.

Falls für das Argument ≫isNaN≪ zutrifft, ist das Ergebnis von ≫Math.floor≪ der Wert ≪NaN≫.

Auswertung
Math.floor( "abc" )
NaN
Math.floor( undefined )
NaN

Falls das Argument fehlt, so wird dies so interpretiert, als sei das Argument der Wert ≪undefined≫.

Auswertung
Math.floor()
NaN

Dieses Beispiel zeigt auf, weswegen es wichtig ist, zwischen Parametern  und Argumenten  zu unterscheiden. Die Funktion ≫Math.floor≪ hat laut ihrer Dokumentation einen  Parameter, aber sie wird in ≫Math.floor()≪ mit null  Argumenten aufgerufen.

Das folgende Beispielprogramm zeigt einen der Dokumentation der Funktion ≫Math.floor≪ entsprechenden Aufruf jener Funktion mit einem Argumentausdruck vom Typ »double«.

Auswertung
Math.floor( 2.7 )
2

⚠ Die Dokumentation einer Funktion erklärt dem Leser die Eigenschaften und die Bedeutung dieser Funktion. Sie ist nicht  dafür gedacht als ein JavaScript -Ausdruck verwendet zu werden. In der Dokumentation steht beispielsweise ≫Math.floor( x )≪, ein korrekter Aufruf dieser Funktion ist beispielsweise ≫Math.floor( 2.7 )≪. Der Para̲metername »x« aus der Dokumentation gehört also nicht  in den Quelltext.

Zeile aus einer Dokumentation
Math.floor( x )
möglicher Ausdruck
Math.floor( 2.7 )

Leere Para̲meterlisten

Wenn die Klammern hinter dem Funktionsnamen in der Dokumentation leer  sind, dann hat die dokumentierte Funktion keine Para̲meter, und sollte entsprechend auch mit leeren Klammern  (also ohne Argument ) aufgerufen werden.

Dokumentation von ≫Math.random()≪ in ECMAScript 2015  (gekürzt, übersetzt und überarbeitet)
Math.random( )
Ergibt eine Zufallszahl, die gleich 0 ist oder die größer als 0 und kleiner als 1 ist. Diese Funktion akzeptiert keine Argumente.

In der Dokumentation von ≫Math.random≪ findet man außerdem noch den Hinweis „Diese Funktion akzeptiert keine Argumente.

Wird doch ein Argumentausdruck angegeben, so hat dessen Wert keinen Einfluß auf den Wert des Aufrufs.

Auswertung
Math.random()
0.6460670353732043
Auswertung
Math.random( 1 )
0.2802523382776344
Auswertung
Math.random( "abc" )
0.4253523273659886
Auswertung
Math.random( undefined )
0.6838555845786954

An den Klammern hinter dem Namen ≫Math.random≪, die sich in der Dokumentation finden, kann man auch hier erkennen, daß es sich um eine Funktion handelt.

Para̲meter und Argumente

Para̲meternamen  und Argumentausdrücke  werden manchmal miteinander verwechselt : Para̲meternamen  finden sich in der Dokumentation  als Beschreibung einer Lücke, sie drücken das Fehlen  eines bestimmten Wertes aus, die Erwartung  eines Ausdrucks beim Aufruf im Quelltext. Argumentausdrücke  finden sich im Quelltext innerhalb mancher Ausdrücke und geben den zur Ermittlung des Para̲meterwerts zu nutzenden Ausdruck an, beispielsweise als ein Numerale oder als eine Summe. Da Para̲metername das Fehlen  eines Wertes ausdrücken und Argumentausdrücken einen Wert  ausdrücken, sind Argumentausdrücke  gewissermaßen das Gegenstück zu Para̲meternamen.

Weitere Beispiele für Funktionsdokumentationen

Hier zeigen wir die Dokumentation einiger der bisher schon vorgestellter Funktionen.

Das Verhalten dieser Funktionen bei Argumenten, die keine richtigen Zahlen darstellen oder fehlen, ist so wie schon oben für ≫Math.floor≪ beschrieben.

Dokumentation
Math.sqrt( x )
Ergibt die Quadratwurzel von »x«.
Dokumentation
Math.sin( x )
Ergibt den Sinus von »x«.
Dokumentation
parseFloat( string )
Wandelt das Numerale am Anfang von »string« in eine Zahl.
Der Name des Parameters deutet an, daß eine Zeichenfolge als Argument erwartet wird.

Übersicht

In der folgenden Übersicht steht »this« für das globale Verzeichnis.

Übersicht der Namen

Name Art Bedeutung

this.Infinity Zahl Unendlich
this.Math.PI Zahl die Kreiszahl Pi
this.Math.abs Funktion Betrag
this.Math.floor Funktion Boden
this.Math.isNaN Funktion "ist NaN"
this.Math.parseFloat Funktion Zahl eines Textes
this.Math.random Funktion Zufallszahl
this.Math.sin Funktion Sinus
this.Math.sqrt Funktion Quadratwurzel
this.undefined Wert "kein Wert"
this.NaN Zahl "keine Zahl"

Übungsfragen

?   Bedeutung von Ausdrücken

Ist (der Wert des Ausdrucks) ≫Math.abs( 2 )≪ eine Funktion?

?   Bedeutung von Ausdrücken (1)

Nennen Sie einen (weiteren) Ausdruck, dessen Wert eine Funktion ist!

?   Dokumentation lesen ⃗

Dokumentation einer Funktion mit einem Para̲meter (angelehnt an ECMAScript 2015)

Math.round( x )

Ergibt den gerundeten Wert von x.

Ergibt NaN, falls x nicht-echtzahlig ist.

Wir sagen, daß ein Wert x echtzahlig  ist, wenn der Wert von ≫isNan« gleich »false« ist, wenn man es mit diesem Wert x aufruft.

Fragen zum Verständnis der obigen Dokumentation

?   Ausdrücke lesen ⃗

Ist der Wert von ≫parseFloat( "2.7" )≪ eine eigentliche Zahl?

Ist der Wert von ≫Math.floor( parseFloat( "2.7" ))≪ eine eigentliche Zahl?

Wir sagen, daß ein Wert x echtzahlig  ist, wenn der Wert von ≫isNan« gleich »false« ist, wenn man es mit diesem Wert x aufruft.

?   Verständnis von Fachbegriffen ⃗

Zu einer (hypothetischen) Funktion »m« wird erklärt: „Die Funktion »m« ergibt den Wert 4.“. Welchen Wert hat dann »m( 3 )«?

Zu einer (hypothetischen) Funktion »f« wird erklärt: „Die Funktion »f« ergibt den Wert ihres Arguments.“. Welchen Wert hat dann »f( 3 )«?

Aus der freien Wildbahn

Wenn man im Quelltext einer Nachrichtenseite wie

Fragment
heise.de/-4603616

nach »random« sucht, findet man vermutlich einen Treffer (Stand 2019).

Bildung von Inkarnationen

Ein Plattenspieler kann erst nach der Verbindung mit einer Schallplatte Musik abspielen.

Ein Beispiel
.----------------------------------------.
| .----------------. .------------. | Eine Inkarnation einer Operation ist eine
| | Plattenspieler |<---( Schallplatte ) | Verbindung der Operation mit Daten, die
| '----------------' '------------' | dann ausgefuehrt werden kann.
'----------------------------------------'
|
V
\ /
- Interaktion - Grundprinzipien:
/ \ 1.) Verbindung zu startfaehiger Maschine
| 2.) Start einer startfaehigen Maschine
V
Ergebnis

Genau kann eine Funktion mit einem Parameter erst nach der Verbindung mit einem Argumentwert ausgeführt werden.

Inkarnation einer parametrisierten Funktion
  Inkarnation
.----------------------------------------.
| .----------------. .------------. | Inkarnation aus Funktion und Argumentwert
| | Funktion |<---( Argumentwert ) |
| '----------------' '------------' |
'----------------------------------------'
|
V
\ /
- Ausführung -
/ \
|
V
Ergebnis/Wirkung

Übungsaufgaben

/   Aufrufe schreiben

Diese Übungsaufgabe soll das selbständige Schreiben von Aufrufen von Funktionen mit einem Para̲meter an Hand der Dokumentation üben.

Schreiben Sie einen Ausdruck für den Aufruf der Funktion ≫Math.sign≪ (welche Werte dabei genau verwendet werden, ist egal).

Dokumentation
Math.sign( x )
Ergibt das Vorzeichen von »x«.
Ergibt »+1«, falls »x« positiv ist.
Ergibt »-1«, falls »x« negativ ist.
Ergibt »+0«, falls »x« gleich »+0« ist.
Ergibt »-0«, falls »x« gleich »-0« ist.
Ergibt »NaN«, falls »x« nicht echtzahlig ist.
Wir sagen, daß ein Wert x echtzahlig  ist, wenn der Wert von ≫isNan« gleich »false« ist, wenn man es mit diesem Wert x aufruft.

/   Mathematische Aufrufe schreiben ⃗

Schreiben Sie möglichst kurze Ausdrücke, die den folgenden sprachlichen Bezeichnungen entsprechen, ohne dabei den Wert des Ausdrucks schon selber im Kopf auszurechnen! Die Werte der Ausdrücke sollten den mathematischen Werten der vorgegebenen Texte möglichst nahe kommen. (Passende Funktionen können im Verzeichnis ≫Math≪ gefunden werden.)

Reserveaufgaben

/   Aufrufe schreiben (1)

(Diese Reserveaufgabe wird erst nach der Nachbesprechung der vorherigen Aufgabe bearbeitet, falls die vorherige Aufgabe noch nicht gelöst werden konnte.)

Schreiben Sie einen Ausdruck für den Aufruf der Funktion ≫Math.sqrt≪ (welche Werte dabei genau verwendet werden, ist egal).

Dokumentation
Math.sqrt( x )
Ergibt die Quadratwurzel von »x«.

Zusatzfragen *

?   Ausdrücke lesen *

Die folgenden Fragen sollen durch Lesen der Dokumentation beantwortet werden, nicht durch Ausprobieren (Starten von Programmen).

Welche Werte kann der Ausdruck ≫Math.floor( Math.random() * 3 )≪ haben?

Welche Werte kann der Ausdruck ≫Math.ceil( Math.random() * 3 )≪ haben?

Welche Werte kann der Ausdruck ≫Math.trunc( Math.random() * 3 )≪ haben?

Welche Werte kann der Ausdruck ≫Math.round( Math.random() * 3 )≪ haben?

Oben steht »Math« immer für den globalen Namen  ≫Math≪.

Zusatzaufgaben *

?   Runden *

Schreiben Sie einen Ausdruck für die Berechnung der auf zwei Nachkommastellen gerundeten Quadratwurzel von 10. Dabei soll die JavaScript -Implementation die Quadratwurzel berechnen und dann das Ergebnis auf zwei Nachkommastellen runden.

Zitate *

Das folgende Zitat soll die Verwendung der Begriffe “argument ” und “parameter ” in ECMAScript 2015 zeigen.

ECMAScript 2015
21.1.2.1 String.fromCharCode ( ...codeUnits )
The String.fromCharCode function may be called with any number of arguments which form the rest parameter codeUnits.

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 stefanram722792 stefan_ram:722792 Parameter der Dokumentation in JavaScript Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722792, slrprddef722792, 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/parameter_javascript