Aggiungi un numero a due variabili contemporaneamente - Trucchi CSS

Anonim

Puoi inizializzare due variabili sullo stesso valore contemporaneamente, un po ':

var foo, bar; foo = bar = 10;

Ma non esiste un meccanismo altrettanto facile per aggiungere, diciamo, 5 a entrambi fooe barallo stesso tempo. Certo, è abbastanza semplice da fare:

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

Ma sono due operazioni.

Il trucco è:

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

Probabilmente non ne avrai mai bisogno, è solo interessante sapere che è possibile.

Grazie a Matheus Avellar per averci inviato questo piccolo trucco strabiliante, che spiega anche:

Il -barottiene analizzato e diventa il valore negativo dei bar, così -10. Quindi, a += 5corre e imposta bara 15 (10 + 5). Infine, riassume entrambi i valori (-10 + 15) e ti dà la differenza tra vecchio bare nuovo bar, che è 15.