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")
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 ") ;}
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.
<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: |