JavaScript/לולאות מקוננות: הבדלים בין גרסאות בדף

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
תוכן שנמחק תוכן שנוסף
שורה 99: שורה 99:
</pre>
</pre>
====הסבר====
====הסבר====
הפקודה break תוציא אותנו מהלולאה.
i שווה ל-0,
כל עוד i גדול או שווה ל-4,
i שווה ל-0, כל עוד i גדול או שווה ל-4, i יגדל ב-1.
i יגדל ב-1.
<br />
<br />
אם i שווה ל-2 אז הספירה תפסק.
אם i שווה ל-2, תבוצע יציאה מיידית מהלולאה, כלומר שהספירה תפסק.

====תוצאה====
====תוצאה====
<pre style="direction:ltr;">
<pre style="direction:ltr;">

גרסה מ־07:35, 9 באפריל 2008

JavaScript

התחלת העבודה

הוראת תנאי

אובייקטים

מערכים

לולאות

פונקציות

אובייקט המסמך

אוביקטים נוספים

JavaScript למתקדמים

ספריות

בינה מלאכותית


גרסה להדפסה

אנו משתמשים בלולאות כשאנו רוצים שיבוצע קטע קוד מסוים מספר פעמים.

הלולאה while

תחביר והסבר

<script language="javascript">
while(condition)
{
command 
}
</script>

כל עוד מתקיים התנאי (condition), הדפדפן ידפיס את את הפקודה (command) הנמצאת בתוך הסוגריים המסולסלות. בדרך כלל, שמים אופרטור השוואה לתוך הסוגריים הרגילות המייצגות את התנאי (condition). ולתוך הסוגריים המסולסלות כותבים פקודה (command) כמו למשל, ("התנאי מתקיים")document.write

בכל אופן, תראו את הדוגמאות ואז תבינו טוב יותר במה מדובר.

דוגמא

קוד

<script language="javascript">
var a=1;
while(a<6) / כל עוד איי קטן מ-6 התנאי הנמצא בין הסוגריים המסולסלות יתקיים.
{
document.write("המספר כעת הוא" + a);
a=a+1; / איי ועוד אחת
}
</script>

תוצאה

המספר כעת הוא 0
המספר כעת הוא 1
המספר כעת הוא 2
המספר כעת הוא 3
המספר כעת הוא 4
המספר כעת הוא 5

תרשים זרימה

קובץ:Tarshim.gif

הלולאה do-while

הסבר

הלולאה do-while שונה מwhile רק בהבט אחד הקוד קודם מבוצע פעם אחת (ללא קשר לקיום התנאי) ורק אחר כך התנאי נבדק.

קוד

<script type="text/javascript">
var i=8;
do 
{
document.write("The number is " + i);
document.write("<br />");
i=i+1;
}
while (i<3)
</script>

הסבר

אף שלפי תנאי הלולאה הפקודה מבוצעת רק אם i קטן מ3, מה שבמקרה זה שקר כיוון שi=8 אם כן הפקודה לא היתה צריכה להתבצע, אך מכיוון שהלולאה היא מסוג do while הפקודה בוצעה בכל אופן אך נעצרה אחר פעם אחת. (אילו i היה שווה 1 הפקודה היתה מתבצעת שלוש פעמים).

הלולאה for

קוד

<script language="javascript">
var i=0;
for (i=0;i<=4;i++)
{
document.write("המספר הוא " + i);
document.write("<br />");
}
</script>

הסבר

החלק הראשון בלולאה תפקידו הצבה ראשונית, כלומר לפני ביצוע הקוד .i=0 החלק השני הוא התנאי, אם i קטן או שווה ל4 בצע את הקוד אשר הוא הפקודה השלישית.

תוצאה

המספר הוא 0
המספר הוא 1
המספר הוא 2
המספר הוא 3
המספר הוא 4

הפקודה break

קוד

<script language="javascript">
var i=0;
for (i=0;i<=4;i++)
{
document.write("המספר הוא " + i);
document.write("<br />");
if (i==2){break;}
}
</script>

הסבר

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

תוצאה

המספר הוא 0
המספר הוא 1
המספר הוא 2

הפקודה contiune

קוד

<script language="javascript">
var i=0;
for (i=0;i<=4;i++)
{
if (i==2){continue}
document.write("המספר הוא " + i);
document.write("<br />");

}
</script>

הסבר

i שווה ל-0, כל עוד i גדול או שווה ל-4, i יגדל ב-1.
אם i שווה ל-2 אז נקפוץ לראש הלולאה. כלומר שנדלג של ההדפסה של 2.

תוצאה

המספר הוא 0
המספר הוא 1
המספר הוא 3
המספר הוא 4

זהירות מלולאה אין סופית

יש להזהר מלצור לולאה אין סופית, כלומר כזאת שאין לה תנאי עצירה או שיתכנו מצבים בהם תנאי העצירה לא יתממש לעולם. דוגמה:

<script language="javascript">
var i=2;
while (i<3) 
{
document.write("The number is " + i);
document.write("<br />");
i--;
}
</script>

בדוגמה אנו רואים שאף שיש תנאי עצירה (i<3) הוא אינו תקף אם i קטן מ3 מה שיגרום ללואה אין סופית.