Loon3y
Neues Mitglied
Hallo,
ich lese mir momentan ein Buch über JS durch. Dabei bin ich auf folgendes gestoßen: (ist noch weit am anfang)
den wert von "anzahlauflagen" her? Ich habe doch nur "Auflagen" mit 7 definiert, nicht "anzahlauflagen".
müsste das nicht
heißen?
Danke schon einmal für die Antwort.
Gruß
Loon3y
ich lese mir momentan ein Buch über JS durch. Dabei bin ich auf folgendes gestoßen: (ist noch weit am anfang)
so jetzt frage ich mich woher bekommt man beiWill man eine Variable um einen bestimmten Wert erhöhen, kann man sich des folgenden Konstrukts bedienen:
Der Variablen AnzahlAuflagen wird als Wert der alte Wert dieser Variablen plus fünf zugewiesen. Der Wert der Variablen wird also de facto um eins erhöht. In der Praxis kommt es sehr häufig vor, dass der Wert einer Variablen um genau eins erhöht oder verringert werden soll; für diesen Fall sieht JavaScript eine Abkürzung vor:Code:AnzahlAuflagen = AnzahlAuflagen + 1;
AnzahlAuflagen++ erhöht den Wert der Variablen um eins.
AnzahlAuflagen-- verringert den Wert der Variablen um eins
Die Operatoren ++ und -- können auch direkt vor dem Variablennamen stehen. Der Unterschied liegt in der Reihenfolge, in der diese Operation im Vergleich mit anderen Operationen ausgeführt werden soll.
Am Beispiel des Operators ++ soll das einmal durchexerziert werden; -- verhält sich analog.
Das Endergebnis des Standalone-Ausdrucks (des »alleinstehenden« Ausdrucks)
hat zunächst denselben Effekt (nämlich: Erhöhung um 1) wieCode:AnzahlAuflagen++;
Einen Unterschied stellt man jedoch fest, wenn der Ausdruck bei einer Zuweisung verwendet wird:Code:++AnzahlAuflagen;
Welchen Wert hat Anzahl, welchen Wert hat Anzahl2?Code:var Auflagen = 7; var Anzahl = ++AnzahlAuflagen; var Anzahl2 = AnzahlAuflagen++;
Die (vielleicht etwas überraschende) Antwort lautet: Anzahl hat den Wert 8, Anzahl2 hat auch den Wert 8.
Betrachten Sie zunächst die zweite Zeile:
Der ++-Operator steht vor dem Variablennamen. Das bedeutet hier, dass zunächst diese Operation (AnzahlAuflagen um eins erhöhen) ausgeführt und dann der neue Wert (8) der Variablen Anzahl zugewiesen wird.Code:var Anzahl = ++AnzahlAuflagen;
Bei der dritten Zeile ist es genau andersherum:
Zuerst wird der Variablen Anzahl2 der (aktuelle) Wert von AnzahlAuflagen zugewiesen, dann wird der Wert von AnzahlAuflagen um eins vergrößert.Code:var Anzahl2 = AnzahlAuflagen++;
Code:
var Auflagen = 7;
var Anzahl = ++AnzahlAuflagen;
var Anzahl2 = AnzahlAuflagen++;
müsste das nicht
Code:
var Auflagen = 7;
var Anzahl = ++Auflagen;
var Anzahl2 = Auflagen++;
Danke schon einmal für die Antwort.
Gruß
Loon3y