JavaScript inkrementiert [duplizieren]

8

Ich weiß, dass Sie einen zu einer Variablen hinzufügen können, indem Sie einfach i++ eingeben (vorausgesetzt, dass i Ihre Variable ist). Dies kann am besten gesehen werden, wenn man durch ein Array iteriert oder es in einer "for" -Anweisung verwendet. Nachdem ich einen Code gefunden habe, der online verwendet werden kann, ist mir aufgefallen, dass die for-Anweisung ++i verwendet (wie bei i++ ).

Ich habe mich gefragt, ob es einen signifikanten Unterschied gibt oder ob die beiden überhaupt anders behandelt werden.

    
FreeSnow 16.05.2011, 16:54
quelle

6 Antworten

29

Ja, es gibt einen großen Unterschied.

%Vor%

Und hier ist eine Geige, um alles zusammen zu setzen: Ссылка

    
Neal 16.05.2011, 16:57
quelle
4

Der Wert von ++i ist i + 1 und der Wert von i++ ist nur i . Nachdem beide ausgewertet haben, ist i i + 1 . Es ist ein Unterschied im Timing, weshalb sie oft 'Pre-Increment' und 'Post-Increment' genannt werden. In einer for-Schleife spielt es jedoch selten eine Rolle.

    
Rafe Kettler 16.05.2011 16:56
quelle
3

Leute wie Douglas Crockford raten davon ab, diese Art des Inkrementierens zu verwenden, unter anderem wegen dem, was Rafe Kettler beschrieben hat. Egal wie erfahren Sie sind, manchmal wird ++i/i++ Sie überraschen. Die Alternative ist einfach 1 zu i mit i += 1 hinzuzufügen, lesbar, verständlich und eindeutig.

    
KooiInc 16.05.2011 17:11
quelle
2

Schauen Sie sich diesen Link an: Ссылка es ist Post-Inkrement versus Pre-Inkrement. Beide Werte erhöhen den Wert, aber einer gibt den Wert VOR der Inkrementierung (++ y) zurück und der andere gibt den Wert AFTER (y ++) zurück. Es macht jedoch keinen Unterschied, wenn Sie es in einer for-Schleife verwenden -

%Vor%

ist dasselbe wie

%Vor%     
Liv 16.05.2011 16:57
quelle
2
%Vor%

Wenn Sie jetzt a, b, c, d ... ausgeben, wird der Ausgang wie folgt aussehen:

2 2 2 1

    
ta-run 16.05.2011 17:00
quelle
1

++ i heißt pre-increment und i ++ heißt post-increment. Der Unterschied ist, wenn die Variable inkrementiert wird. Das Vorinkrementieren einer Variablen fügt normalerweise 1 hinzu und verwendet dann diesen Wert, während die Nachinkrementierung die Variable verwendet und dann inkrementiert.

    
SquidScareMe 16.05.2011 16:56
quelle

Tags und Links