Добавяне на число към две променливи наведнъж - 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.