Добавление числа к двум переменным сразу онлайн урок.


Вы можете одновременно инициализировать две переменные на одно и то же значение, а именно:

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.