En JavaScript, puede usar el ++operador antes ( antes del incremento ) o después del nombre de la variable ( después del incremento ). ¿Cuáles, si las hay, son las diferencias entre estas formas de incrementar una variable?
javascript
increment
unary-operator
Derek Adair
fuente
fuente

Respuestas:
Igual que en otros idiomas:
++x(pre-incremento) significa "incrementar la variable; el valor de la expresión es el valor final"x++(post-incremento) significa "recordar el valor original, luego incrementar la variable; el valor de la expresión es el valor original"Ahora, cuando se usa como una declaración independiente, significan lo mismo:
La diferencia viene cuando usas el valor de la expresión en otra parte. Por ejemplo:
fuente
+ 1lugar de++? ¿Hay alguna forma de aumentar antes o después al agregar números?xcomienza como 10, el valor der1es 21, que es 10 + 11. El valor de la primerax++expresión es 10 yxse incrementa a 11. El valor de la segundax++expresión es 11 yxse incrementa a 12.++xincrementa el valor, luego lo evalúa y lo almacena.x++evalúa el valor, luego lo incrementa y lo almacena.Tenga en cuenta que hay pequeños beneficios de rendimiento al usar
++xcuando sea posible, porque lee la variable, la modifica, luego la evalúa y almacena. Frente alx++operador donde lee el valor, lo evalúa, lo modifica y luego lo almacena.fuente
Según tengo entendido, si los usa de forma independiente, hacen lo mismo. Si intenta generar el resultado de ellos como una expresión, entonces pueden diferir. Pruebe alert (i ++) en comparación con alert (++ i) para ver la diferencia. i ++ evalúa a i antes de la adición y ++ i hace la adición antes de evaluar.
Consulte http://jsfiddle.net/xaDC4/ para ver un ejemplo.
fuente
jsfiddle
fuente
fuente
Tengo una explicación para entender el post-incremento y pre-incremento. Así que lo estoy poniendo aquí.
Vamos a asignar
0axComencemos con el post-incremento
¿Por qué?
Vamos a romper la
x++expresiónLa primera declaración devuelve el valor del
xcual es0Y más tarde, cuando usa
xvariable en cualquier lugar, se ejecuta la segunda instrucciónLa segunda declaración devuelve el valor de esta
x + 1expresión que es(0 + 1) = 1Tenga en cuenta el valor de
xen este estado que es1Ahora comencemos con pre-incremento
¿Por qué?
Vamos a romper la
++xexpresiónLa primera declaración devuelve el valor de esta
x + 1expresión que es(1 + 1) = 2La segunda declaración devuelve el valor de lo
xque es2así,x = 2por lo tanto, devuelve2¡Espero que esto te ayude a comprender qué son el post-incremento y pre-incremento!
fuente