משפטי תנאי מסוג switch בשפת Javascript

משפטי תנאי מאפשרים לנו  לשלוט בזרימת הקוד שלנו ובאופן שבו הקוד שלנו ירוץ. באמצעות משפטי תנאי ביכולתנו לקבוע באילו תנאים בלוק קוד מסוים יהיה פעיל ובאילו תנאים לא. בניגוד למשפטי if משפטי תנאי מסוג switch נועדו לבחינה של מספר תנאים בבלוק קוד אחד. אמנם, דבר דומה ניתן לעשות באמצעות משפטי if...elseif...else אולם משפטים מסוג זה יעילים פחות ממשפטי switch. הסיבה לכך היא שבמשפטים אלה על האינטרפרטר לבחון את אותו ביטוי שוב ושוב ואילו במשפטי switch הביטוי נבחן רק פעם אחת ולאחר מכן מושווה לכל אחד מן התנאים שבמשפט.

הצורה הכללית של משפטי switch

switch (expression) {
case 1:
// קוד להרצה במקרה שהתנאי מתקיים
break; // הפסק בנקודה זו
case 2:
// קוד להרצה במקרה שהתנאי מתקיים
break ; // הפסק בנקודה זו
case n:
// קוד להרצה במקרה שהתנאי מתקיים
break; // הפסק בנקודה זו
default:
// קוד להרצה במקרה שהתנאי מתקיים
break; // הפסק בנקודה זו
}

התוכנית מבצעת קודם הערכה של התנאי המצוי בשורה הראשונה של משפט ה - switch. לאחר מכן היא עוברת להשוואת תוצאת התנאי על פי המוגדר לה בכל מקרה case. במידה והתנאי מתמלא האינטרפרטר יריץ את משפטי הקוד שבתוך ה - case שענה על התנאי. ברוב המקרים נרצה שלאחר מכן האינטרפרטר ייצא ממשפט ה - switch שלנו ולא ימשיך הלאה. לשם כך נשתמש ב - break - המורה לאינטרפרטר לצאת מתוך משפט ה - switch. לפעמים, כאשר משפט ה - switch שלנו נמצא בתוך פונקציית javascript נוכל להשתמש ב - return ולאחריו ערך כלשהו במקום ב - break. בצורה זו נוכל לצאת גם ממשפט ה - switch וגם מן הפונקציה, תוך שאנו מחזירים ערך למשפט שקרא לפונקציה.

חשוב לשים לב לכך שסיימנו את משפט ה - switch ב - default. תפקיד ה - default הוא לאפשר לתוכנית להריץ בלוק קוד במקרה שאף אחד מן התנאים במשפט ה - switch אינו מתקיים. אין חובה להשתמש ב - default ואין גם חובה שהוא יהיה האחרון במשפט שלנו.

דוגמת קוד לשימוש במשפטי switch

בדוגמת הקוד הבאה נבחן את ערכו של משתנה ששמו name. במקרה וערכו "אדם" נציג למשתמש את ההודעה: שלום אדם. במקרה וערכו "חוה" נציג למשתמש את ההודעה: שלום חוה. בכל מקרה אחר נציג למשתמש את ההודעה: שלום אורח.

switch (name) {
case "אדם":
 alert("שלום אדם");
 break;
case "חוה":
 alert("שלום חוה");
 break;
default:
 alert("שלום אורח");
 break;
}

מדריכים נוספים הקשורים לנושא זה

משפטי תנאי מסוג if...else

פונקציות ב - Javascript

שלושה סוגי הודעות קופצות

 
 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש