2017-03-13 1 views
-4

Je vais avoir du mal à comprendre comment fonctionnent les Postfix et Prefix Increment dans l'expression comme ceci:javascript Postfix et Prefix Increment dans l'expression

var x = 1; 
x = ++x + x++ * x 

Pourquoi le retour de la console du navigateur 8?

+0

Parce que 2 + 2 * 3 est 8 – Li357

+3

double possible de [Pourquoi éviter incrément ("++") et décrément ("-") opérateurs JavaScript ?] (http://stackoverflow.com/questions/971312/why-avoid-increment-and-decrement-operators-in-javascript) – dave

+1

Vous devriez lire sur "la priorité des opérateurs". –

Répondre

3

Il est évalué de gauche à droite:

++x   : x is now 2 
++x +   : 2 + 
++x + x  : 2 + 2 
++x + x++  : 2 + 2 and x is now 3 
++x + x++ * : 2 + 2 * 
++x + x++ * x : 2 + 2 * 3