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.