Præfiks og postfiks type i JavaScript
Faktisk kan inkrement- og dekrementoperationer
skrives på to måder. Lad os
se på disse metoder ved hjælp af eksemplet ++,
og for -- vil alt være analogt.
I den første metode skrives operationen efter
variabelnavnet, sådan her: a++, og
i den anden metode - foran variabelnavnet,
sådan her: ++a.
Den første form kaldes postfiks, og den anden - præfiks. Lad os se, i hvilke tilfælde forskellen mellem disse to former viser sig.
Lad os sige, at vi har koden alert(a++) og
koden alert(++a).
I tilfældet alert(a++) vil variablen først
blive vist, og derefter forøges med én,
og i tilfældet alert(++a) vil variablen først
forøges med én, og derefter blive vist.
I det følgende eksempel vil den første alert vise
0, fordi udskriften til skærmen
sker først, og først derefter forøges variablen:
let num = 0;
alert(num++); // viser 0
alert(num); // viser 1
Og nu vil variablen først forøges, og først derefter vil udskriften til skærmen ske:
let num = 0;
alert(++num); // viser 1 - variablen forøges med det samme
Denne adfærd gælder ikke kun for udskrift til skærmen, men også for tildeling:
let num1 = 0;
let num2 = num1++; // variablen num2 tildeles 0
alert(num2); // viser 0
alert(num1); // viser 1 - variablen num1 ændredes efter tildeling til num2
Og lad os nu ændre postfiksformen til præfiksformen:
let num1 = 0;
let num2 = ++num1; // variablen num2 tildeles 1
alert(num2); // viser 1
Hvis vores operation udføres på en separat linje, er der ingen forskel mellem præfiks- og postfiksformerne:
let num = 0;
++num;
num++;
alert(num); // viser 2
Uden at køre koden, bestem hvad der vil blive vist på skærmen:
let num = 3;
alert(++num);
Uden at køre koden, bestem hvad der vil blive vist på skærmen:
let num = 3;
alert(num++);
Uden at køre koden, bestem hvad der vil blive vist på skærmen:
let num = 3;
alert(--num);
Uden at køre koden, bestem hvad der vil blive vist på skærmen:
let num = 3;
alert(num--);
Uden at køre koden, bestem hvad der vil blive vist på skærmen:
let num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Uden at køre koden, bestem hvad der vil blive vist på skærmen:
let num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Uden at køre koden, bestem hvad der vil blive vist på skærmen:
let num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Uden at køre koden, bestem hvad der vil blive vist på skærmen:
let num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Uden at køre koden, bestem hvad der vil blive vist på skærmen:
let num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);