Weblap Hová jutunk?

JavaScript feltételek

Feltételeket, szinte minden JavaScript programban alkalmazunk. A programfutást feltételek határozzák meg, hogy adott esemény bekövetkezésekor, mit tegyen

Feltétel:
Kedves Feri, közlöm (utasítom) a pincérrel hogy fizetek neked egy üveg sört, mely attól függ, hogy teljesíted e a feltételemet vagy sem.
Feltételem: A kézilabdapálya hosszát 5, azaz ötször végig kell futnod.

Lefordítva JavaScript nyelvre:
Feltételes utasítási sor jele = if
Feltétel:
- Kézilabdapálya hossza = a
- Mennyiség, azaz érték = 5
Utasítás, ha teljesíti a feltételt = Pincér! Fizetve Ferinek a sör!
Utasítás, ha nem teljesíti a feltételt = Nem teljesítette a feltételt, ezért Ő fizeti a sört

Leírása programban:
var a = 5;
if (a == 5) ("Pincér! Fizetve Ferinek a sör! ") ;
else ("Nem teljesítette a feltételt, ezért Ő fizeti a sört")

Feltételes utasítás jele: if

A feltételes utasítás if azonosítóval kezdődik, az utasítás vagy utasítások végét, pontosvessző ( ; ) zárja.
Kék színnel van jelölve a feltétel
Sárga háttérszínnel az utasítás

var x = 2;
if (x == 2) { window.alert ("Most kapsz rétest, mert x egyenlő 2-vel ") ;}

Feltételek logikai operátorai

Egyenlő ==
Teljesen egyenlő ===
Nem egyenlő !=
Teljesen egyenlőtlen !==
Kisebb mint <
Nagyobb mint >
Kisebb vagy egyenlő <=
Nagyobb vagy egyenlő >=
logikai és &&
logikai vagy ||
tagadás/negálás !a
Feltételes hármas ? :

Megjegyzés:
A fenti feltételek logikai operátorai, nem mindig adnak pontos eredményt.
Egészszámokkal jók, de némely tizedes értéket tartalmazó számnál, hibás eredményt kapunk.
Mi ennek az oka, és mit tehetünk bizonyos eredményeknél, hogy a feltételek a leírtaknak megfelelően működjenek.
Kattints ide!


A különbség az egyenlő (==) és teljesen egyenlő (===) operátorok között az, hogy a fordító az egyenlőség esetén a kiértékelés előtt "kikényszeríti" a hasonlóságot, tehát például: egy numerikus és karakteres 1, ill. "1" érték összehasonlítása egyenlőséget eredményez, míg a teljes egyenlőség vizsgálatánál nem.

A feltételes hármas ( ? : ) operátor esetén a kérdőjel előtt egy logikai kifejezés szerepel.
Ha a kiértékelés eredménye igaz, akkor a "?" és ":" kettőspont közötti értéket adja vissza az operátor,
ellenkező esetben a ":" kettőspont utáni értéket.





Példák.
Feltételek logikai operátorai és hibái.

<script language="JavaScript" type="text/javascript"> 
var a = 1;                   // Numerikus szám.
var b = '1';                 // Szövegnek minősülő szám.
var c = 2.2+1.1;         // Numerikus számok értéke = 3.3.
var d = 3.3;                 // Numerikus szám.
// Első feltétel.
if(a == b) {document.write('a értéke, egyenlő b értékével.<br><br>'); }
else{document.write('a értéke, nem egyenlő b értékével.<br><br>');}
// Második feltétel.
if(c == d) {document.write('c értéke, egyenlő d értékével.<br>'); }
else{document.write('c értéke, nem egyenlő d értékével.<br>');}
</script>

Program eredménye:

<script language="JavaScript" type="text/javascript"> 
var a = 1;                   // Numerikus szám.
var b = '1';                 // Szövegnek minősülő szám.
var c = 2.2+1.1;         // Numerikus számok értéke = 3.3.
var d = 3.3;                 // Numerikus szám.
if(a === b) { document.write('a értéke, egyenlő b értékével.');  }
   else{ document.write('a értéke, nem egyenlő b értékével.');  }
   
if(c === d) {document.write('c értéke, egyenlő d értékével.<br>'); }
   else{document.write('c értéke, nem egyenlő d értékével.<br>');}
</script>

Program eredménye:

<script language="JavaScript" type="text/javascript"> 
var a = 1;         // Numerikus szám.
var b = 1;         // Numerikus szám.
var c = '1';       // Szövegnek minősülő szám.

if(a != b) { document.write('a értéke, egyenlő b értékével. <br><br>');  }
   else{ document.write('a értéke, nem egyenlő b értékével. <br><br>');  }

if(a != c) { document.write('a értéke, egyenlő c értékével.');  }
   else{ document.write('a értéke, nem egyenlő c értékével.');  }
</script>


Program eredménye:


<script language="JavaScript" type="text/javascript"> 
var a = 2;              // Numerikus szám.
var b = 1;              // Numerikus szám.
var c = 2;              // Numerikus szám.
var d = 0.2+0.1;   // d értéke = 0.3
var e = 0.3;           // e értéke = 0.3

if(a < b) {document.write('a értéke, nagyobb b értékénél. <br><br>'); }
   else{document.write('a értéke, kisebb b értékénél. <br><br>');}

if(a > b) {document.write('a értéke, nagyobb b értékénél. <br><br>'); }
   else{document.write('a értéke, kisebb b értékénél. <br><br>');}

if(a <= c) {document.write('a értéke, kisebb vagy egyenlő c értékével. <br><br>'); }
   else{document.write('a értéke, kisebb c értékénél. <br><br>');}

if(d < e) {document.write('d értéke, kisebb e értékénél. <br><br>'); }
else{document.write('d értéke, nagyobb e értékénél. <br><br>');}

if(d <= e) {document.write('d értéke, kisebb vagy egyenlő e értékével.'); }
else{document.write('d értéke, nem kisebb vagy egyenlő e értékével.');}
</script>







Program eredménye:


0.3 feltételnél, miért nem kaptunk pontos eredményt, kattints ide!
<script language="JavaScript" type="text/javascript"> 
var a = 2;         // Numerikus szám.
var b = 1;         // Numerikus szám.
var c = 2;         // Numerikus szám.

if(a==b && a==c) { document.write('a értéke, b és c, azaz, mindkettővel egyezik. <br><br>');  }
else{ document.write('a értéke, b és c, azaz, mindkettővel, nem egyezik. <br><br>'); }

if(a==b || a==c) { document.write('a értéke, b vagy c értékkel, egyezik.');  }
else{ document.write('a értéke, b vagy c értékkel, nem egyezik.');  }
</script>


Program eredménye:


<script language="JavaScript" type="text/javascript"> 
var a = 2;         // Numerikus szám.
if( !a ) {document.write('a értéke, létező.'); }
   else{document.write('a értéke, nem létező.');}
</script>


Program eredménye:


Változó értékét, feltételhez kötjük.
változó = (feltétel) ? (teendő, ha feltétel teljesül) : (teendő, ha feltétel nem teljesül);
<script language="JavaScript" type="text/javascript"> 
var a = 5;
var b = (a==2) ? 12 : 0;
document.write('A b változó értéke = '+b+'<br><br>');

var a = 5;
var b = (a==5) ? 12 : 0;
document.write('A b változó értéke = '+b+'<br>');
</script>




Program eredménye:




Vissza a lap elejére