Javascriptben tudtok do-while ciklusra értelmes példát mondani, amit nem lehet for ciklussal helyettesíteni?
Input validation vagy form validation nem jó, mert azt klikkeseménnyel meg lehet oldani és ahhoz nem kell do-while. Például C++-ban egy input validation így néz ki parancssoros programok esetén:
Valami ilyesmire gondolok Javascriptben is. Vagy csak prompt() függvénnyel lehet ezt megoldani Javascriptben? Annak viszont kerülendő a használata ha jól tudom.
Végül ennél maradtam, ennél értelmesebbet sajna nem sikerült kifosni magamból.
<!-- input validation -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>input validation</title>
<style>
label, output { display: block; }
</style>
<script>
document.addEventListener("DOMContentLoaded", () => {
let input_number = 0;
do {
input_number = prompt("Please enter a number that is greater than 1");
} while (Number.isNaN(input_number) || input_number < 2);
document.querySelector("output#entered_number").value = input_number;
});
</script>
</head>
<body>
<h1>input validation</h1>
<label for="entered_number">Entered_number:</label>
<output id="entered_number"></output>
</body>
</html>
nincs olyan, hogy ne lehetne for ciklussal helyettesíteni:
do
{
body
} while(condition)
ez mindig átírható egy ilyen for ciklusra:
for(let guard=false; condition && guard; guard=true)
{
body;
}
Technikailag bármelyik fajta ciklus átírható bármelyik másikra.
Azért vannak különbözö ciklusok, hogy jobban értelmezhetö kódot tudj írni:
- Ha valami "iterable"-t akarsz bejárni vagy tudod pontosan elöre, hogy hányszor kell valamit végrehajtani, használj for ciklust.
- Különben használj while, vagy do-while ciklust. Ezek közül meg úgy tudsz választani, hogy ha legalább egyszer végre akarod hajtani a ciklusmagot, akkor do-while, de ha lehet, hogy egyszer se kell, akkor while.
Nyilván vannak kivételek, de ezek a szabályok egész jó közelítést adnak arról, hogy mikor melyik ciklus a legjobb választás.
Nem, nem ez volt a kérdés. Ott van az oldal tetejére: "...nem lehet for ciklussal helyettesíteni".
Érdemes lenne megtanulni pontosan fogalmazni. Hasznos skill ebben a szakmában.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!