Em JavaScript, você pode usar o ++
operador antes ( pré-incremento ) ou após o nome da variável ( pós-incremento ). Quais são as diferenças entre essas formas de incrementar uma variável?
javascript
increment
unary-operator
Derek Adair
fonte
fonte
Respostas:
O mesmo que em outros idiomas:
++x
(pré-incremento) significa "incrementar a variável; o valor da expressão é o valor final"x++
(pós-incremento) significa "lembre-se do valor original e depois aumente a variável; o valor da expressão é o valor original"Agora, quando usado como uma declaração autônoma, eles significam a mesma coisa:
A diferença ocorre quando você usa o valor da expressão em outro lugar. Por exemplo:
fonte
+ 1
vez de++
? Existe uma maneira de incrementar antes ou depois ao adicionar números?x
começa com 10, o valor der1
21 é 10 + 11. O valor da primeirax++
expressão é 10 ex
é incrementado a 11. O valor da segundax++
expressão é 11 ex
é incrementado a 12.++x
incrementa o valor, avalia e armazena.x++
avalia o valor, depois incrementa e armazena.Observe que há pequenos benefícios de desempenho em usar sempre
++x
que possível, porque você lê a variável, modifica-a e depois avalia e armazena-a. Versus ox++
operador onde você lê o valor, avalia, modifica e armazena.fonte
Pelo que entendi, se você usá-los autônomos, eles fazem a mesma coisa. Se você tentar gerar o resultado deles como uma expressão, eles poderão ser diferentes. Experimente o alerta (i ++) em comparação com o alerta (++ i) para ver a diferença. O i ++ avalia i antes da adição e ++ i faz a adição antes de avaliar.
Veja http://jsfiddle.net/xaDC4/ para um exemplo.
fonte
jsfiddle
fonte
fonte
Eu tenho uma explicação para entender pós-incremento e pré-incremento. Então, eu estou colocando aqui.
Permite atribuir
0
ax
Vamos começar com pós-incremento
Por quê?
Vamos quebrar a
x++
expressãoA primeira instrução retorna o valor
x
que é0
E mais tarde, quando você usa a
x
variável em qualquer lugar, a segunda instrução é executadaA segunda declaração retorna o valor dessa
x + 1
expressão que é(0 + 1) = 1
Lembre-se do valor
x
nesse estado que é1
Agora vamos começar com o pré-incremento
Por quê?
Vamos quebrar a
++x
expressãoA primeira instrução retorna o valor dessa
x + 1
expressão que é(1 + 1) = 2
Segunda declaração retorna o valor de
x
que é2
assim,x = 2
portanto, retorna2
Espero que isso ajude você a entender o que são pós-incremento e pré-incremento!
fonte