Ezt a kódot elmagyarázná valaki (Javascript)?
Szóval, elkezdtem jst tanulni és volt egy feladat aminek megoldására rákerestem, és volt egy felhasználó aki megcsinálta csak sokkal komolyabban. így nézne ki:
for (var i=1; i<2; i++) {
var user_name = prompt ("Enter your first name in the box below","");
if ((user_name == null ) || (user_name == "")) {
alert ("You must enter your first name!");
i--
}
}
for (var i=1; i<2; i++) {
var last_name = prompt ("Enter your last name in the box below","");
if ((last_name == null ) || (last_name == "")) {
alert ("You must enter your last name!");
i--
}
}
greet (user_name, last_name); // call the greet() function
function greet (who1, who2) {
document.write("Hello " + who1 + " " + who2 + ", Welcome to my Site!");
}
Azt értem hogy mindenképp meg kell adni vmi értéket ahhoz hogy békénhagyjon, de miért kell a kódot kétszer megírni, illetve a for ciklus értelmét se látom itt. Oké hogy egytől növekszik míg nem éri el a 2-t, de miért? illetve a végén meg csökkenti. Nem értem, talán azért hogy a függvény visszatérjen az előző prompthoz?
de miért kell a kódot kétszer megírni
Azért mert egyszer bekéri a keresztnevét egyszer meg a vezetéknevét
For ciklus működése:
i=1
Ellenőrzi, hogy az i megfelel-e a feltételnek(most, hogy kisebb-e mint kettő), ha igen:
Végrehajtja az utasítások(bekéri a nevet, és ellenőrzi a nevet)
az if miatt i=0 lesz, ha nem adott meg nevet
vége a for ciklusnak megnöveli a ciklusváltozót egyel(i=1)
....
a "..."-al arra utaltam, hogy addig fut míg meg nem add a felhasználó egy nevet
A célja pedig az, hogy a felhasználó mindenképpen beírjon valamit abba a mezőbe
ugyan ez for és if nélkül.;DDDD
tudom hogy a for ciklus általában mit csinál, pl számkiíratásnál hogy i=0 aztán amíg el nem éri a 10et adjon hozzá mindig egyet (i++). A problémám inkább az hogy nem tudom hogy ebben a feladatban mire is jó. mi köze az egytől kettőig való ciklusnak ahhoz hogy beírjam az adatokat?
A for ciklus ilyen módon való felhasználása működik, csak nem szép - kérdés, hogy ki törődik vele. A for-t előre ismert szám-szor való végrehajtásra illene használni.
Ahogy #5 is jelezte, a while ciklus használata szebb lenne: amíg a user_name üres, addig kérd be a user_name-t. Ekkor nincs i--, nincs if, szebb, átláthatóbb.
és akkor az i--?
szóval addig fusson (i++) a prompt amíg be nem írtuk a kért adatot, és ha ez megvan akkor ne fusson tovább azaz i-- ?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!