In JavaScript können Sie den ++
Operator vor ( Vorinkrementierung ) oder nach dem Variablennamen ( Nachinkrementierung ) verwenden. Was sind, wenn überhaupt, die Unterschiede zwischen diesen Methoden zum Inkrementieren einer Variablen?
javascript
increment
unary-operator
Derek Adair
quelle
quelle
Antworten:
Gleich wie in anderen Sprachen:
++x
(Vorinkrementierung) bedeutet "Inkrementieren der Variablen; der Wert des Ausdrucks ist der Endwert"x++
(Nachinkrementierung) bedeutet "Erinnere dich an den ursprünglichen Wert und erhöhe dann die Variable; der Wert des Ausdrucks ist der ursprüngliche Wert".Wenn sie nun als eigenständige Anweisung verwendet werden, bedeuten sie dasselbe:
Der Unterschied entsteht, wenn Sie den Wert des Ausdrucks an anderer Stelle verwenden. Beispielsweise:
quelle
+ 1
stattdessen verwenden würden++
? Gibt es eine Möglichkeit, vor oder nach dem Hinzufügen von Zahlen zu erhöhen?x
mit 10 begonnen wird, ist der Wert vonr1
21, was 10 + 11 ist. Der Wert des erstenx++
Ausdrucks ist 10 undx
wird auf 11 erhöht. Der Wert des zweitenx++
Ausdrucks ist 11 undx
wird auf 12 erhöht.++x
erhöht den Wert, wertet ihn aus und speichert ihn.x++
wertet den Wert aus, erhöht ihn und speichert ihn.Beachten Sie, dass die Verwendung nach
++x
Möglichkeit geringfügige Leistungsvorteile bietet, da Sie die Variable lesen, ändern, dann auswerten und speichern. Im Vergleich zumx++
Operator, in dem Sie den Wert lesen, auswerten, ändern und dann speichern.quelle
Soweit ich weiß, tun sie dasselbe, wenn Sie sie eigenständig verwenden. Wenn Sie versuchen, das Ergebnis als Ausdruck auszugeben, können sie unterschiedlich sein. Versuchen Sie alert (i ++) im Vergleich zu alert (++ i), um den Unterschied zu erkennen. i ++ wertet i vor dem Hinzufügen aus und ++ i führt das Hinzufügen vor dem Auswerten durch.
Ein Beispiel finden Sie unter http://jsfiddle.net/xaDC4/ .
quelle
jsfiddle
quelle
quelle
Ich habe eine Erklärung zum Verständnis von Post-Inkrement und Pre-Inkrement. Also lege ich es hierher.
Weisen wir
0
zux
Beginnen wir mit dem Nachinkrement
Warum?
Lassen Sie
x++
uns den Ausdruck aufschlüsselnDie erste Anweisung gibt den Wert zurück, der
x
ist0
Und später, wenn Sie
x
irgendwo eine Variable verwenden, wird die zweite Anweisung ausgeführtDie zweite Anweisung gibt den Wert dieses
x + 1
Ausdrucks zurück(0 + 1) = 1
Denken Sie an den Wert
x
in diesem Zustand1
Beginnen wir nun mit der Vorinkrementierung
Warum?
Lassen Sie
++x
uns den Ausdruck aufschlüsselnDie erste Anweisung gibt den Wert dieses
x + 1
Ausdrucks zurück(1 + 1) = 2
Die zweite Anweisung gibt den Wert zurück, der
x
so ist,2
dassx = 2
sie zurückgibt2
Ich hoffe, dies würde Ihnen helfen zu verstehen, was Post-Inkrement und Pre-Inkrement sind!
quelle