Etuliitteinen ja jälkiliitteinen tyyppi JavaScriptissä

Itse asiassa inkrementti- ja dekrementtioperaatiot voidaan kirjoittaa kahdella tavalla. Tarkastelkaamme näitä tapoja esimerkissä ++, ja --:lle kaikki on vastaavaa.

Ensimmäisessä tavassa operaatio kirjoitetaan muuttujan nimen jälkeen, näin: a++, ja toisessa tavassa - ennen muuttujan nimeä, näin: ++a.

Ensimmäistä muotoa kutsutaan jälkiliitteiseksi, ja toista - etuliitteiseksi. Katsotaan, missä tapauksissa näiden kahden muodon välillä ilmenee eroja.

Olkoon meillä koodi alert(a++) ja koodi alert(++a).

Tapauksessa alert(a++) muuttuja tulostetaan ensin, ja sitten se kasvaa yhdellä, kun taas tapauksessa alert(++a) muuttuja kasvaa ensin yhdellä, ja sitten se tulostetaan.

Seuraavassa esimerkissä ensimmäinen alert tulostaa 0, koska ensin suoritetaan tulostus näytölle, ja vasta sitten muuttuja kasvaa:

javascriptlet num = 0;
alert(num++); // tulostaa 0
alert(num);   // tulostaa 1

Ja nyt muuttuja kasvaa ensin, ja vasta sitten tulostus näytölle tapahtuu:

javascriptlet num = 0;
alert(++num); // tulostaa 1 - muuttuja kasvoi välittömästi

Tällainen käyttäytyminen ei päde vain tulostukseen näytölle, vaan myös sijoittamiseen:

javascriptlet num1 = 0;
let num2 = num1++; // muuttujaan num2 kirjoitetaan 0
alert(num2); // tulostaa 0
alert(num1); // tulostaa 1 - muuttuja num1 muuttui tallennuksen jälkeen num2:een

Ja nyt vaihdetaan jälkiliitteinen muoto etuliitteiseksi:

javascriptlet num1 = 0;
let num2 = ++num1; // muuttujaan num2 kirjoitetaan 1
alert(num2); // tulostaa 1

Jos operaatiomme suoritetaan omalla rivillään, etuliitteisen ja jälkiliitteisen muodon välillä ei ole eroa:

javascriptlet num = 0;
++num;
num++;
alert(num); // tulostaa 2
Задание 1

Käyttämättä koodia, määritä, mitä tulostetaan näytölle:

javascriptlet num = 3;
alert(++num);
Задание 2

Käyttämättä koodia, määritä, mitä tulostetaan näytölle:

javascriptlet num = 3;
alert(num++);
Задание 3

Käyttämättä koodia, määritä, mitä tulostetaan näytölle:

javascriptlet num = 3;
alert(--num);
Задание 4

Käyttämättä koodia, määritä, mitä tulostetaan näytölle:

javascriptlet num = 3;
alert(num--);
Задание 5

Käyttämättä koodia, määritä, mitä tulostetaan näytölle:

javascriptlet num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Задание 6

Käyttämättä koodia, määritä, mitä tulostetaan näytölle:

javascriptlet num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Задание 7

Käyttämättä koodia, määritä, mitä tulostetaan näytölle:

javascriptlet num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Задание 8

Käyttämättä koodia, määritä, mitä tulostetaan näytölle:

javascriptlet num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Задание 9

Käyttämättä koodia, määritä, mitä tulostetaan näytölle:

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