Ajouter un nombre à deux variables à la fois - Astuces CSS

Anonim

Vous pouvez initialiser deux variables à la même valeur à la fois, un peu:

var foo, bar; foo = bar = 10;

Mais il n'existe pas de mécanisme aussi simple pour ajouter, disons, 5 aux deux fooet baren même temps. Bien sûr, c'est assez simple à faire:

foo += 5; // foo is now 15 bar += 5; // bar is now 15

Mais ce sont deux opérations.

L'astuce est:

foo += -bar + (bar += 5); // foo and bar are now 15

Vous n'en aurez probablement jamais besoin, c'est juste intéressant de savoir que c'est possible.

Merci à Matheus Avellar pour l'envoi de cette petite astuce de maîtrise de l'esprit, qui explique également:

Le -barest analysé et devient la valeur négative de bar, donc -10. Ensuite, a += 5s'exécute et définit barà 15 (10 + 5). Enfin, il résume les deux valeurs (-10 + 15) et vous donne la différence entre l'ancien baret le nouveau bar, soit 15.