V tomto príklade sa naučíte písať program na výmenu dvoch premenných v JavaScripte pomocou rôznych metód.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku JavaScript:
- Premenné a konštanty JavaScriptu
- Prevádzkovatelia JavaScriptu
Príklad 1: Použitie dočasnej premennej
//JavaScript program to swap two variables //take input from the users let a = prompt('Enter the first variable: '); let b = prompt('Enter the second variable: '); //create a temporary variable let temp; //swap variables temp = a; a = b; b = temp; console.log(`The value of a after swapping: $(a)`); console.log(`The value of b after swapping: $(b)`);
Výkon
Zadajte prvú premennú: 4 Zadajte druhú premennú: 2 Hodnota a po výmene: 2 Hodnota b po výmene: 4
Tu,
- Vytvorili sme dočasnú premennú na dočasné uloženie hodnoty.
- Hodnotu b sme priradili k a.
- Hodnota teploty je priradená k b
Vo výsledku dôjde k zámene hodnoty premenných.
Poznámka: Týmto spôsobom môžete tiež zameniť reťazce alebo iné dátové typy.
Príklad 2: Použitie priradenia deštrukturalizácie es6 (ES2015)
//JavaScript program to swap two variables //take input from the users let a = prompt('Enter the first variable: '); let b = prompt('Enter the second variable: '); //using destructuring assignment (a, b) = (b, a); console.log(`The value of a after swapping: $(a)`); console.log(`The value of b after swapping: $(b)`);
Výkon
Zadajte prvú premennú: 4 Zadajte druhú premennú: 2 Hodnota a po výmene: 2 Hodnota b po výmene: 4
Tu (a, b) = (b, a)
sa na výmenu hodnoty dvoch premenných používa nová funkcia es6, ktorá sa nazýva deštrukturalizačné priradenie . Ak (a, b) = (1, 2, 3)
, hodnota a bude 1 a hodnota b bude 2 .
- Najskôr sa vytvorí dočasné pole (b, a). Tu bude hodnota (b, a)
(2, 4)
. - Deštrukturuje sa pole, tj
(a, b) = (2, 4)
.
Vo výsledku dôjde k zámene hodnoty premenných.
Viac informácií o deštrukcii sa dozviete v dokumente Zničenie priradenia JavaScriptu.
Poznámka : Týmto spôsobom môžete tiež zameniť reťazce alebo iné dátové typy.
Hodnoty premennej môžete tiež zameniť pomocou aritmetických operátorov.
Príklad 3: Používanie aritmetických operátorov
//JavaScript program to swap two variables //take input from the users let a = parseInt(prompt('Enter the first variable: ')); let b = parseInt(prompt('Enter the second variable: ')); // addition and subtraction operator a = a + b; b = a - b; a = a - b; console.log(`The value of a after swapping: $(a)`); console.log(`The value of b after swapping: $(b)`);
Výkon
Zadajte prvú premennú: 4 Zadajte druhú premennú: 2 Hodnota a po výmene: 2 Hodnota b po výmene: 4
Táto metóda používa iba dve premenné a zamení hodnotu premenných pomocou aritmetických operátorov +
a -
.
Tu parseInt()
sa používa, pretože prompt()
berie vstup od používateľa ako reťazec. A keď sa pridajú číselné reťazce, správa sa ako reťazec. Napríklad '2' + '3' = '23'
. Takže parseInt()
prevedie číselný reťazec na číslo.
Ak sa chcete dozvedieť viac informácií o konverzii typov, prejdite na položku Konverzie typov JavaScript.
Pozrime sa, ako vyššie uvedený program zamieňa hodnoty. Spočiatku a je 4 ab je 2 .
a = a + b
priradí hodnotu4 + 2
a (teraz 6 ).b = a - b
priradí hodnotu6 - 2
b (teraz 4 ).a = a - b
priraďte hodnotu6 - 4
k (teraz 2).
Nakoniec a je 2 a b je 4 .
Poznámka : Ak sú obe premenné číselného typu, môžete použiť aritmetické operátory ( +
, -
).
Príklad 4: Použitie bitového operátora XOR
//JavaScript program to swap two variables //take input from the users let a = prompt('Enter the first variable: '); let b = prompt('Enter the second variable: '); // XOR operator a = a b b = a b a = a b console.log(`The value of a after swapping: $(a)`); console.log(`The value of b after swapping: $(b)`);
Výkon
Zadajte prvú premennú: 4 Zadajte druhú premennú: 2 Hodnota a po výmene: 2 Hodnota b po výmene: 4
Bitový operátor XOR vyhodnotí, true
či sú obidva operandy odlišné. Ak sa chcete dozvedieť viac o bitových operátoroch, navštívte JavaScript bitových operátorov.
Pozrime sa, ako vyššie uvedený program zamieňa hodnoty. Spočiatku a je 4 ab je 2 .
a = a b
priradí hodnotu4 2
a (teraz 6 ).b = a b
priradí hodnotu6 2
b (teraz 4 ).a = a b
priraďte hodnotu6 4
k (teraz 2).
Nakoniec a je 2 a b je 4 .
Poznámka : Túto metódu môžete použiť iba pre celé číslo (celé číslo) hodnoty.