Get Adobe Flash player
דף הבית לולאות לולאות while

בשעור זה נדון בלולאות מסגנון While.

לולאת While 

בלולאה מסגנון While, הקוד רץ כל עוד שהערך הסופי של הלולאה לא הושג. להבדיל מלולאת for בה הערך מקודם בלולאה עצמה, קידום הערך נעשה בקוד אותו הלולאה מבצעת.

תחביר:

while (var<=ערך סופי)
{
הקוד שיבוצע
}

בתחביר שבדוגמא, הלולאה תפעל כל עוד המשתנה קטן ו/או שווה לערך הסופי. כמובן שניתן להשתמש בכל אופרטור השוואתי אחר.

דוגמא:

<html>
<body>
<script type="text/javascript">
var i=1;
while (i<=6)
  {
  document.write("<h" + i + ">טקסט בסגנון H" + i + "<h" + i + ">");
  i++;
  }
</script>
</body>
</html>

הסבר:

בדוגמא זו הקוד יבצע את אותה פעולה שבוצעה בדוגמא ב' של הפרק הקודם (לולאות for) אך באמצעות לולאה מסוג while.

הערך התחילי של הלולאה נקבע מחוץ לה. במקרה זה, בעת ההצהרה על המשתנה.

הלולאה עצמה פועלת כל עוד הערך קטן ו/או שווה ל- 6. משפט הכתיבה יתבצע, ולאחריו i יקודם ב-1. כל עוד ש i קטן או שווה ל-6, הלולאה תחזור ותבצע את הקוד. ברגע ש i יגדל מעל 6, הלולאה תעצור, והקוד ימשיך בפעולתו - מחוץ ללולאה, ובמקרה זה - יסתיים.

לולאת do...while 

לולאת do...while שונה במקצת מלולאת while רגילה בכך שהשורה הראשונה תתבצע תמיד בלי קשר להגדרות הלולאה.

תחביר:  

do
{
הקוד שיבוצע
}
while (var<=ערך סופי)

 

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

חלק ה while, יופיע לאחר הקוד.

דוגמא:

<html>
<body>
<script type="text/javascript">
var i=1;
do
  {
  document.write("<h" + i + ">טקסט בסגנון H" + i + "<h" + i + ">");
  i++;
  }
while (i >=2 && i <=6)

</script>
</body>
</html>

הסבר:

גם דוגמא זו תכתוב כותרות על פי גודלן. אולם, מקטע ה while מגדיר שהלולאה תרוץ כל עוד i נמצא בתחום שבין 2 ל-6. לכאורה, כותרת בסגנון h1, לא אמורה להיכתב (כי i נמצא מחוץ לתחום המוגדר). אולם מכיוון שהשורה הראשונה בלולאה מסוג זה מתבצעת תמיד, ומכיוון שלמשתנה i הוקצה ערך ראשוני של 1, שורת הכותרת על פי h1 תיכתב בכל זאת.

 

אל השיעור הקודם אל השיעור הבא