JavaScript/תנאי מורכב if-else
JavaScript |
---|
התחלת העבודה הוראת תנאי אובייקטים מערכים לולאות
פונקציות אובייקט המסמך אוביקטים נוספים JavaScript למתקדמים ספריות בינה מלאכותית |
אנו משתמשים בהתניה מורכבת על מנת לבדוק משהו ולתת פלט בהתאם (בשונה מהתניה פשוטה, לתת פלט גם אם התנאי לא מתקבל).
בדיקת מספר
[עריכה]קוד
[עריכה]let a=1;
if(a==2) // בדיקה אם איי שווה ל-2
{
document.write("a שווה 2");
}
else
{
document.write("a לא שווה 2");
}
הסבר
[עריכה]אם a שווה 2:
- תדפיס "a שווה 2"
אחרת (אם התנאי הראשון לא מתקבל):
- תדפיס "a לא שווה 2"
תוצאה
[עריכה]a לא שווה 2
זוגי או אי-זוגי
[עריכה]קוד
[עריכה]<script language="javascript">
num=3;
if(num%2==0)
{
document.write("מספר זוגי");
}
else
{
document.write("מספר אי זוגי");
}
</script>
תוצאה
[עריכה]מספר אי זוגי
הסברים
[עריכה]בדוגמא זו ישנה בדיקת שארית, כלומר: האם num מתחלק ב-2? --אם כן: כתוב even number --אחרת כתוב: odd number
הסברים נוספים לגבי דוגמא זו תמצאו בפרק "אופרטורים" ובכל מקרה, אתם יכולים לשאול שאלה בדף השיחה.
עוד על קינון
[עריכה]אם אני מדלג ישר לשאלה המעשית, שאז גם המילה קינון תהיה ברורה דרך הדוגמא, השאלה היא כזו: בסולם ...if - else - if - else, כאשר לא לכל if יש else, איך יודעים לאיזה if מתיחס כל else? התשובה היא שכל else מתיחס ל if האחרון לפניו שלא היה לו else. אם תמיד מוסיפים סוגרים מסולסלים אז הסולם נעשה ברור יותר:
if (condition)
if (condition) { statement; }
else { statement; } // לאיזה if מבין השנים ה else מתיחס?
הוא כמו
if (condition)
{
if (condition) { statement; }
else { statement; }
}
, רק שהסוגריים המסולסלים מאפשרים גם למי שלא יודע את הכלל להבין את המשמעות. כאן ניסיתי להראות זאת גם על ידי הזחה. ל if הראשון אין else.