Προσθέστε έναν αριθμό σε δύο μεταβλητές ταυτόχρονα - CSS-Κόλπα

Anonim

Μπορείτε να αρχικοποιήσετε δύο μεταβλητές στην ίδια τιμή ταυτόχρονα, κάπως:

var foo, bar; foo = bar = 10;

Αλλά δεν υπάρχει παρόμοιος εύκολος μηχανισμός για την προσθήκη, ας πούμε, 5 και στα δύο fooκαι barταυτόχρονα Φυσικά, είναι αρκετά απλό να κάνετε:

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

Αλλά αυτό είναι δύο πράξεις.

Το κόλπο είναι:

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

Πιθανότατα δεν θα το χρειαστείτε ποτέ, είναι απλώς ενδιαφέρον να γνωρίζετε ότι είναι δυνατόν.

Χάρη στον Matheus Avellar για την αποστολή αυτού του μικρού κόλπου μυαλού, ο οποίος εξηγεί επίσης:

Το -barπαίρνει αναλυμένο και γίνεται η αρνητική τιμή bar, έτσι -10. Στη συνέχεια, a += 5τρέχει και ορίζεται barσε 15 (10 + 5). Τέλος, συνοψίζει και τις δύο τιμές (-10 + 15) και σας δίνει τη διαφορά μεταξύ παλαιού barκαι νέου bar, δηλαδή 15.