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
 11/21 anonim ***** válasza:

Persze így jobb:


for (var i=true; 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!");

} else {

i = false;

}

}

2015. okt. 4. 14:45
Hasznos számodra ez a válasz?
 12/21 anonim ***** válasza:

"

for (var i=true; 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!");

} else {

i = false;

}

}

"


Nemáááár.. a for az számlálós ciklusnak van kitalálva, maradjon is az.


var i = TRUE;

var user_name;

while (i) {

user_name = prompt ("Enter your first name in the box below","");

if ((user_name == null ) || (user_name == "")) {

alert ("You must enter your first name!");

} else {

i = FALSE;

}

}

2015. okt. 4. 15:45
Hasznos számodra ez a válasz?
 13/21 anonim ***** válasza:
És nem user_name == null, hanem: typeof user_name == "undefined"
2015. okt. 4. 15:47
Hasznos számodra ez a válasz?
 14/21 anonim ***** válasza:
vagy user_name == undefined
2015. okt. 4. 15:48
Hasznos számodra ez a válasz?
 15/21 A kérdező kommentje:
ah, mennyi megoldás. Nagyon hálás vagyok nektek érte. Nem minden tiszta, de foci rangadók után átfutom őket. köszi szépen.
2015. okt. 4. 16:48
 16/21 anonim ***** válasza:
Ha valamit még mindig nem értesz akkor inkább kérdezd meg, lehet, hogy a 4. magyarázat lesz az amelyiknél megérted, mert hiába mondjuk el mondjuk autós stb hasonlattal, ha nem ismered az autókat(most pl pont nem kellett hasonlatot használni)
2015. okt. 4. 17:10
Hasznos számodra ez a válasz?
 17/21 A kérdező kommentje:

hát, elsőnek is maradjunk annál amit a kérdésben feltettem:


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

}

}


Van a for ciklus, ami egytől kettőig megy. Mit jelent valójában az egy és mit a kettő? Szóval 1: az az állapot mikor nem írtam be semmit, 2 amikor beirtam valamit és mehetek tovább? és ha nem írok be semmit de leokézom akkor életbe lép az i-- hogy visszatérjen az 1eshez?

Mondjuk akkor gondolom kéne else is.


Illetve amit ti írtatok:


for (var i=true; i;)

miért kellett egy i; a végére?

2015. okt. 4. 17:41
 18/21 anonim ***** válasza:

Az 1 a kezdőérték, a 2 meg a feltétel értéke. A for ciklus addig fut le, amíg az i kisebb mint 2, vagyis igaz a feltétel.


Ha kitöltik rendesen a mezőt, akkor nem fut le az if-ben megadott feltétel (mert hamis), és az i értéke 2-re nő (i++ miatt), így a feltétel már nem igaz és nem fut le a for ciklus újból.


Ha nem, vagy rosszul töltik ki, akkor az if igaz lesz, és lefut a benne megadott kód (i--), így a for feltétele megint igaz lesz, és újból lefut.


De nézz utána a for ciklus/if elágazás felépítésének/működésének, nem túl bonyolultak.


Ide tényleg jobb a while, mert a for-t arra találták ki amikor tudni számszerűleg, hogy hányszor kell a ciklus magját megismételni.

2015. okt. 4. 19:18
Hasznos számodra ez a válasz?
 19/21 anonim ***** válasza:

#viperM


Legfőképp olyan nyelvet használok ahol a for ciklus alkalmazása már rég nem csak a számlálásról szól, és fontos, hogy minél kisebb blokkon belül legyen elérhető a változó. Természetesen ami ott működik és megszokott itt JavaScriptes körökben lehet randának minősül.

2015. okt. 4. 20:01
Hasznos számodra ez a válasz?
 20/21 A kérdező kommentje:
18-as: Most megcsókolnálak. Nagyon szépen köszönöm neked és nektek hogy segítettetek.
2015. okt. 4. 20:27
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!