Добавить число к двум переменным одновременно - 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

Возможно, вам это никогда не понадобится, просто интересно знать, что это возможно.

Спасибо Матеусу Авеллару за этот небольшой трюк, который также объясняет:

-barПолучает анализируются и становится отрицательным значением bar, так что -10. Затем a += 5бежит и устанавливает bar15 (10 + 5). Наконец, он суммирует оба значения (-10 + 15) и дает вам разницу между старым barи новым bar, которая составляет 15.