Додавання числа до двох змінних одночасно - 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виконується і встановлюється barна 15 (10 + 5). Нарешті, він підсумовує обидва значення (-10 + 15) і дає вам різницю між старими barта новими bar, яка дорівнює 15.