Umgebungen in JavaScript [] (Umgebungen in JavaScript), Lektion, Seite 722794
https://www.purl.org/stefan_ram/pub/umgebungen_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

Umgebungen in JavaScript 

Bestimmte Auswertungen können Wirkungen haben, die noch nach dem Ende der Auswertung beobachtbar sind.

Auswertung
a = 2
2

Die folgende Auswertung wird durch die voranstehende Auswertung beeinflußt. (Ohne diese würde sie nicht notwendigerweise »2« ergeben.)

Auswertung
a
2

Wir können den die Auswertung der Zuweisung mit einem anderen Wert wiederholen.

Auswertung
a = 3
3

Wir erhalten eben jenen anderen Wert dann auch später bei einer Verwendung des Namens.

Auswertung
a
3

Die Auswertung mancher Ausdrücke, wie »a = 2« hat eine Wirkung. Solche Auswertungen nennen wir auch Wirkauswertungen. Entsprechend versehen wir auch alles andere, das eine Wirkung hat mit dem Präfixoid „Wirk-“:

Der bloße Wert einer Auswertung gilt nicht  als eine Wirkung.

Merkformel
Wert ≠ Wirkung

Aber man faßt Wert und Wirkung einer Auswertung zum Verhalten  jener Auswertung zusammen.

Merkformel
Verhalten = Wert + Wirkung

Das Verhalten mancher Auswertungen, wie einer Auswertung des Ausdrucks »a« (siehe oben), kann durch den Zustand der Umgebung (Welt) zum Zeitpunkt der Auswertung beeinflußt werden. Dies stellt sozusagen das Gegenstück zu einer Wirkung dar, das wir auch als eine Messung  oder eine Leseoperation  bezeichnen.

Zusammenspiel zwischen Umgebung (Welt) und Auswertung
.----------------------.                              .----------------------.
| Auswertung | | Umgebung |
| | Wirkung | |
| |----------------------------->| |
| | zB "a = 2" | |
| | | |
| | | |
| | Auslesen | |
| |<-----------------------------| |
| | zB "a" | |
| | | |
'----------------------' '----------------------'

Auswertungen können die Welt verändern (Wirkung) oder vom Zustand der Welt beeinflußt werden (Messung/Leseoperation).

Auswertungen ignorierter Argumente

Eine Funktion, die genau ein Argument akzeptiert, kann auch mit zwei Argumenten aufgerufen werden.

Auswertung
Math.floor.length
1
Auswertung
Math.floor( 7, 9 )
7

Anhand der Wirkung der Auswertung kann man erkennen, daß dabei der Wert der weiteren Argumente zwar nicht verwendet wird, diese aber doch ausgewertet werden.

Auswertung
Math.floor( 7, e = 9 )
7
Auswertung
e
9

Reihenfolge der Auswertung mehrerer Argumente

Beim Aufruf einer Funktion werden die Argumente in zeitlicher Reihenfolge von links nach rechts  ausgewertet (ECMAScript 2016, 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ). Daher können weiter hinten stehende Ausdrücke die Wirkungen der weiter vorne stehenden Ausdrücke erfahren.

Auswertung
Math.floor( 7, d = 9, e = d - 2 )
7
Auswertung
d
9
Auswertung
e
7

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 stefanram722794 stefan_ram:722794 Umgebungen in JavaScript Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722794, slrprddef722794, 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/umgebungen_javascript