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

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
שורה 17: שורה 17:


===דוגמא===
===דוגמא===
====קוד====
====קוד====
<pre style="direction:ltr;">
<pre style="direction:ltr;">
<script language="javascript">
<script language="javascript">
שורה 39: שורה 39:


==הלולאה do-while==
==הלולאה do-while==

===הסבר===
הלולאה do-while שונה מwhile רק בהבט אחד הקוד קודם מבוצע פעם אחת (ללא קשר לקיום התנאי) ורק אחר כך התנאי נבדק.
===קוד===
===קוד===
<pre style="direction:ltr;">
<pre style="direction:ltr;">
<script type="text/javascript">
<script type="text/javascript">
var i=0
var i=8
do
do
{
{
document.write("The number is " + i)
document.write("The number is " + i)
document.write("<br />")
document.write("<br />")
i=i+1
i++
}
}
while (i<3)
while (i<3)
שורה 53: שורה 56:
</pre>
</pre>


===תוצאה===
===הסבר===
אף שלפי תנאי הלולאה הפקודה מבוצעת רק אם i '''קטן''' מ3, מה שבמקרה זה שקר כיוון שi=8 אם כן הפקודה לא היתה צריכה להתבצעה, אך מכיוון שהלולאה היא מסוג do whil הפקודה בוצעה בכל אופן אך נעצרה אחר פעם אחת. (אילו i היה שווה 1 הפקודה היתה מתבצעת שלוש פעמים).
<pre style="direction:ltr;">

The number is 0
The number is 1
The number is 2

</pre>


==הלולאה for==
==הלולאה for==
שורה 75: שורה 72:
</pre>
</pre>
===הסבר===
===הסבר===
החלק הראשון בלולאה תפקידו הצבה ראשונית, כלומר לפני ביצוע הקוד .i=0 החלק השני הוא התנאי, אם i קטן או שווה ל4 בצע את הקוד אשר הוא הפקודה השלישית.
i שווה ל-0,
כל עוד i גדול או שווה ל-4,
i יגדל ב-1.


===תוצאה===
===תוצאה===
שורה 141: שורה 136:
המספר הוא 4
המספר הוא 4
</pre>
</pre>

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

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

}
</script>
</pre>

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

גרסה מ־14:41, 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>=5) / כל עוד איי גדול או שווה ל-5 התנאי הנמצא בין הסוגריים המסולסלות יתקיים.
{
document.write("המספר כעת הוא" + a)
a++ / איי ועוד אחת
}
</script>

תוצאה

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

הלולאה do-while

הסבר

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

קוד

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

הסבר

אף שלפי תנאי הלולאה הפקודה מבוצעת רק אם i קטן מ3, מה שבמקרה זה שקר כיוון שi=8 אם כן הפקודה לא היתה צריכה להתבצעה, אך מכיוון שהלולאה היא מסוג do whil הפקודה בוצעה בכל אופן אך נעצרה אחר פעם אחת. (אילו 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>

הסבר

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 מה שיגרום ללואה אין סופית.