⊗jsPmBsPPT 60 of 505 menu

Prefiskový a postfiskový typ v JavaScripte

Operácie inkrementácie a dekrementácie je možné zapísať dvoma spôsobmi. Poďme sa pozrieť na tieto spôsoby na príklade ++, a pre -- bude všetko analogické.

V prvom spôsobe sa operácia zapíše za názov premennej, takto: a++, a v druhom spôsobe - pred názov premennej, takto: ++a.

Prvá forma sa nazýva postfisková, a druhá - prefisková. Poďme sa pozrieť, v akých prípadoch sa prejavuje rozdiel medzi týmito dvoma formami.

Majme kód alert(a++) a kód alert(++a).

V prípade alert(a++) sa premenná najprv vypíše a až potom zvýši o jednu, a v prípade alert(++a) sa premenná najprv zvýši o jednu a až potom sa vypíše.

V nasledujúcom príklade prvý alert vypíše 0, pretože najprv prebehne výpis na obrazovku a až potom sa premenná zvýši:

let num = 0; alert(num++); // vypíše 0 alert(num); // vypíše 1

A teraz sa premenná najprv zvýši a až potom prebehne výpis na obrazovku:

let num = 0; alert(++num); // vypíše 1 - premenná sa zvýšila okamžite

Takéto správanie platí nielen pre výpis na obrazovku, ale aj pre priradenie:

let num1 = 0; let num2 = num1++; // do premennej num2 sa zapíše 0 alert(num2); // vypíše 0 alert(num1); // vypíše 1 - premenná num1 sa zmenila po zápise do num2

A teraz zmeňme postfiskovú formu na prefiskovú:

let num1 = 0; let num2 = ++num1; // do premennej num2 sa zapíše 1 alert(num2); // vypíše 1

Ak sa naša operácia vykoná na samostatnom riadku, nie je medzi prefiskovou a postfiskovou formou rozdiel:

let num = 0; ++num; num++; alert(num); // vypíše 2

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

let num = 3; alert(++num);

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

let num = 3; alert(num++);

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

let num = 3; alert(--num);

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

let num = 3; alert(num--);

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

let num1 = 3; let num2 = ++num1; alert(num1); alert(num2);

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

let num1 = 3; let num2 = num1++; alert(num1); alert(num2);

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

let num1 = 3; let num2 = --num1; alert(num1); alert(num2);

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

let num1 = 3; let num2 = num1--; alert(num1); alert(num2);

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

let num1 = 3; num1++; let num2 = num1--; alert(num1++); alert(--num2);
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť