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
+ 1
lugar de++
? ¿Hay alguna forma de aumentar antes o después al agregar números?x
comienza como 10, el valor der1
es 21, que es 10 + 11. El valor de la primerax++
expresión es 10 yx
se incrementa a 11. El valor de la segundax++
expresión es 11 yx
se incrementa a 12.++x
incrementa 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
++x
cuando 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
0
ax
Comencemos con el post-incremento
¿Por qué?
Vamos a romper la
x++
expresiónLa primera declaración devuelve el valor del
x
cual es0
Y más tarde, cuando usa
x
variable en cualquier lugar, se ejecuta la segunda instrucciónLa segunda declaración devuelve el valor de esta
x + 1
expresión que es(0 + 1) = 1
Tenga en cuenta el valor de
x
en este estado que es1
Ahora comencemos con pre-incremento
¿Por qué?
Vamos a romper la
++x
expresiónLa primera declaración devuelve el valor de esta
x + 1
expresión que es(1 + 1) = 2
La segunda declaración devuelve el valor de lo
x
que es2
así,x = 2
por lo tanto, devuelve2
¡Espero que esto te ayude a comprender qué son el post-incremento y pre-incremento!
fuente