יצירת קשר עם חברת בניית אתרים צור קשר

 077-7644819
חייגו או השאירו הודעתכם

 
מאמרים אחרונים מאמרים אחרונים
04/04/2024 18:47
בניית של חנות באינטרנט למכירה של מוצרי גיימינג, מחשבים, סלולר וציוד נלווה
09/08/2023 17:16
בניית חנות באינטרנט למכירה של מוצרים לחיות מחמד
12/03/2023 22:03
במאמר זה נסקור את התפתחות שפת צד השרת PHP מראשית ימיה, לכל אורך גירסאותיה השונות עד לאן שהיא הגיעה ב...

משפטי תנאי - switch, case

  1. דף הבית
  2. מדריך HTML5 למתכנת המתחיל
  3. משפטי תנאי - switch, case
יצירת התניות מורכבות בג'אווה סקריפט באמצעות משפטי switch-case.

משפטי switch case בג'אווה סקריפט

כאשר אנו מעוניינים לבחון ערך של ביטוי כלשהו ולבצע פעולות בהתאם לערך, נעזר במשפטי switch case.

 

להלן התחביר הבסיסי שבו נשתמש:

<script>
switch(expression) {
	case a:
		// do something
		break;
	case b:
		// do something
		break;
	case c:
		// do something
		break;
	default:
		// do something
}
<script>

ערך הביטוי expression מחושב פעם אחת בלבד ואז מתחילים להשוותו לערכים השונים שמופיעים במקטעי ה-case.

תחילה, הערך מושווה ל-a. אם הוא שווה לו, יבוצע קטע הקוד שמתחיל מיד לאחר case a ועד פקודת ה-break הראשונה שנראית.

אם הוא אינו שווה ל-a, אז הוא מושווה ל-b. אם הוא שווה ל-b, אז יבוצע קטע הקוד שמתחיל מיד לאחר case b ועד פקודת ה-break הראשונה שנראית.

אם הוא אינו שווה ל-b, אז הוא מושווה ל-c. אם הוא שווה ל-c, אז יבוצע קטע הקוד שמתחיל מיד לאחר case c ועד פקודת ה-break הראשונה שנראית.

אם הוא לא שווה ל-c, יבוצע קטע הקוד שמתחיל מיד לאחר default ועד פקודת ה-break הראשונה שנראית.

 

מספר נקודות חשובות:

1. ערך הביטוי expression מחושב פעם אחת בלבד, ולא בכל case מחדש.

2. מותר להשתמש בכמה שורות case שרוצים.

3. הקוד שירוץ הוא זה שמיד אחרי ה-case הראשון שנמצא מתאים (אם יהיו כמה מקטעי case מתאימים, יופעל רק הקוד של ה-case הראשון מביניהם).

4. הקוד נעצר רק כשמגיעים לפקודת break או עד שמסתיים כל הקוד ב-switch כולו.

 

דוגמאות לשימוש במשפטי switch-case

דוגמה לשימוש ב- Switch-Case:

<script>
var name = "Daniel";
switch(name) {
	case "Uri":
		document.write("1st case");
		break;
	case "Moshe":
		document.write("2nd case");
	case "Yaakov":
		document.write("3rd case");
		break;
	case "Smadar":
		document.write("4th case");
		break;
	default:
		document.write("I don't know");
}
<script>

הערך name נבדק ומושווה תחילה למחרוזת "Uri", ואז למחרוזת "Moshe" ואז למחרוזת "Yaakov" ואז למחרוזת "Smadar". במקרה שלנו, הוא אינו שווה לאף ערך, ולכן, הקוד שיופעל יהיה של שורת ה-default ועל המסך יכתב I don't know.

נשים לב: אם נשנה את ההשמה של name למחרוזת "Moshe" ירשם על המסך 2nd case3rd case, ככל הנראה לא מה שציפינו שיקרה. הסיבה לכך, היא ש"שכחנו" לשים פקודת break בסיום הבלוק שמשוייך ל-"Moshe" ולכן הקוד ממשיך לרוץ עד שתימצא שורת break או עד סוף ה-switch כולו.

זוהי שגיאה נפוצה וכדאי לשים אליה לב.

 

דוגמה נוספת:

<script>
var name = "Daniel";
switch(name[0]) {
	case "A":
	case "B":
	case "C":
	case "D":
		document.write("name starts with A or B or C or D");
		break;
	case "E":
	case "F":
	case "G":
		document.write("name starts with E or F or G");
		break;
	default:
		document.write("name doesn't start with one of the letters A-G");
}
<script>

בדוגמה זו השמטנו במכוון את ה-break. באופן הזה, על מנת שהמחרוזת "name starts with A or B or C or D" תודפס על המסך, צריך שהערך של name[0] (כלומר התו הראשון במחרוזת name) יהיה שווה לאות "A" או "B" או "C" או "D".

באופן דומה, המחרוזת "name starts with E or F or G" תודפס על המסך אם name[0] יהיה שווה לאות "E" או "F" או "G".

בכל מקרה אחר, תודפס על המסך המחרוזת "name doesn't start with one of the letters A-G".

 

הוספת תגובה
YouTube previewPlay

שנקפיץ יחד את העסק שלך לגבהים חדשים?

בניית חנות אינטרנטית של מיזם גרופ תעזור לך ביצירת סיסטם עוצמתי שמגדיל מכירות.

ההצלחה מבוססת על בניית חנות וירטואלית בחוד החנית עם הקמת מערך שיווק אפקטיבי שמגדיל חשיפה והמרות.

 

אל תהססו! מלאו את הטופס או התקשרו עכשיו 077-7644819

 
WhatsApp
שנקפיץ לך את העסק?
לחץ כאן
התקשר עכשיו 077-7644819
או מלא את הטופס להלן: