Kezdőoldal » Számítástechnika » Weblapkészítés » Ezt a kódot elmagyarázná...

Ezt a kódot elmagyarázná valaki (Javascript)?

Figyelt kérdés

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?



2015. okt. 4. 13:27
1 2 3
 1/21 A kérdező kommentje:
oké hülye vagyok, látom hogy a másik nem is egyezik hanem ott másik adatot kér, de a for ciklus fontosságát még mindig nem értem.
2015. okt. 4. 13:29
 2/21 anonim ***** válasza:

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)

....

2015. okt. 4. 13:49
Hasznos számodra ez a válasz?
 3/21 anonim ***** válasza:
Hogy ne legyen végtelen ciklus. Probáltad már végtelen ciklusba ágyazott alertnél bezárni a böngészőt? :) persze be lehet állítani higy ne jelenjen meg több felugró ablak, csak a viszaállítá macera. (Mármint nagyobb macera annál hogy nem ír az ember végtelen ciklust :)
2015. okt. 4. 13:52
Hasznos számodra ez a válasz?
 4/21 anonim ***** válasza:

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

2015. okt. 4. 13:52
Hasznos számodra ez a válasz?
 5/21 anonim ***** válasza:
Illetve bocs, most nézem hogy y-- van. Hát ennyi erővel while ciklus is lehetne.
2015. okt. 4. 13:54
Hasznos számodra ez a válasz?
 6/21 anonim ***** válasza:
Egyébként ha ez a komolyabb megoldás, akkor milyen volt a tied? :)
2015. okt. 4. 13:56
Hasznos számodra ez a válasz?
 7/21 A kérdező kommentje:

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?

2015. okt. 4. 14:07
 8/21 anonim ***** válasza:

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.

2015. okt. 4. 14:34
Hasznos számodra ez a válasz?
 9/21 A kérdező kommentje:

é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-- ?

2015. okt. 4. 14:38
 10/21 anonim ***** válasza:
Az i-- arra szolgál hogy az i mindig 1 legyen, amíg nem írunkbe nevet.
2015. okt. 4. 14:43
Hasznos számodra ez a válasz?
1 2 3

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!