Lisage arv kahele muutujale korraga - CSS-trikid

Anonim

Saate initsialiseerida kaks muutujat ühele ja samale väärtusele korraga:

var foo, bar; foo = bar = 10;

Kuid pole nii lihtsat mehhanismi, et lisada mõlemale fooja barkorraga näiteks 5 . Muidugi on see piisavalt lihtne, et lihtsalt teha:

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

Kuid see on kaks operatsiooni.

Trikk on:

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

Tõenäoliselt pole seda kunagi vaja, on lihtsalt huvitav teada, et see on võimalik.

Aitäh Matheus Avellarile selle väikese mõttemeelse triki saatmise eest, kes selgitab ka:

Tulemused -barparsitakse ja muutuvad negatiivseks väärtuseks bar, seega -10. Seejärel a += 5jookseb ja määrab bar15 (10 + 5). Lõpuks võtab see kokku mõlemad väärtused (-10 + 15) ja annab teile erinevuse vana barja uue vahel bar, mis on 15.