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.