En JavaScript, vous pouvez utiliser l' ++
opérateur avant ( pré-incrémentation ) ou après le nom de la variable ( post-incrémentation ). Quelles sont, le cas échéant, les différences entre ces façons d'incrémenter une variable?
javascript
increment
unary-operator
Derek Adair
la source
la source
Réponses:
Idem que dans les autres langues:
++x
(pré-incrémentation) signifie "incrémenter la variable; la valeur de l'expression est la valeur finale"x++
(post-incrémentation) signifie "mémoriser la valeur d'origine, puis incrémenter la variable; la valeur de l'expression est la valeur d'origine"Maintenant, lorsqu'ils sont utilisés comme une déclaration autonome, ils signifient la même chose:
La différence vient lorsque vous utilisez la valeur de l'expression ailleurs. Par exemple:
la source
+ 1
place de++
? Existe-t-il un moyen d'incrémenter avant ou après lors de l'ajout de nombres?x
commence par 10, la valeur der1
est 21, soit 10 + 11. La valeur de la premièrex++
expression est 10 etx
est incrémentée à 11. La valeur de la deuxièmex++
expression est 11 etx
est incrémentée à 12.++x
incrémente la valeur, puis l'évalue et la stocke.x++
évalue la valeur, puis l'incrémente et la stocke.Notez que l'utilisation
++x
lorsque cela est possible présente de légers avantages en termes de performances , car vous lisez la variable, la modifiez, puis l'évaluez et la stockez. Par rapport à l'x++
opérateur où vous lisez la valeur, l'évaluez, la modifiez, puis la stockez.la source
Si je comprends bien, si vous les utilisez de manière autonome, ils font la même chose. Si vous essayez d'en afficher le résultat sous forme d'expression, ils peuvent différer. Essayez alert (i ++) par rapport à alert (++ i) pour voir la différence. i ++ évalue i avant l'addition et ++ i fait l'addition avant d'évaluer.
Voir http://jsfiddle.net/xaDC4/ pour un exemple.
la source
jsfiddle
la source
la source
J'ai une explication de la compréhension de la post-incrémentation et de la pré-incrémentation. Alors je le mets ici.
Permet d'assigner
0
àx
Commençons par post-incrémentation
Pourquoi?
Permet de décomposer l'
x++
expressionLa première instruction renvoie la valeur de
x
laquelle est0
Et plus tard, lorsque vous utilisez une
x
variable n'importe où, la deuxième instruction est exécutéeLa deuxième instruction renvoie la valeur de cette
x + 1
expression qui est(0 + 1) = 1
Gardez à l'esprit la valeur de
x
cet état qui est1
Commençons maintenant par le pré-incrément
Pourquoi?
Permet de décomposer l'
++x
expressionLa première instruction renvoie la valeur de cette
x + 1
expression qui est(1 + 1) = 2
La deuxième instruction renvoie la valeur
x
dont il est2
ainsix = 2
donc elle renvoie2
J'espère que cela vous aidera à comprendre ce que sont la post-incrémentation et la pré-incrémentation!
la source