JavaScript/לולאות מקוננות: הבדלים בין גרסאות בדף
תוכן שנמחק תוכן שנוסף
החלפת הדף עם '{{Javascript}} ===דוגמא=== ====קוד==== <pre style="direction:ltr;"> <script language="javascript"> for(i=0;i<5;i++) { for(j=0;j<5;j++) { document.write("*"); } } </...' |
|||
שורה 1: | שורה 1: | ||
{{Javascript}} |
{{Javascript}} |
||
אנו משתמשים בלולאות כשאנו רוצים שיבוצע קטע קוד מסוים מספר פעמים. |
|||
==הלולאה while== |
|||
===תחביר והסבר=== |
|||
<pre style="direction:ltr;"> |
|||
<script language="javascript"> |
|||
while(condition) |
|||
{ |
|||
command |
|||
} |
|||
</script> |
|||
</pre> |
|||
כל עוד מתקיים התנאי (condition), הדפדפן ידפיס את את הפקודה (command) הנמצאת בתוך הסוגריים המסולסלות. |
|||
בדרך כלל, שמים אופרטור השוואה לתוך הסוגריים הרגילות המייצגות את התנאי (condition). ולתוך הסוגריים המסולסלות כותבים פקודה (command) כמו למשל, ("התנאי מתקיים")document.write |
|||
בכל אופן, תראו את הדוגמאות ואז תבינו טוב יותר במה מדובר. |
|||
===דוגמא=== |
===דוגמא=== |
||
שורה 20: | שורה 5: | ||
<pre style="direction:ltr;"> |
<pre style="direction:ltr;"> |
||
<script language="javascript"> |
<script language="javascript"> |
||
for(i=0;i<5;i++) |
|||
var a=1; |
|||
while(a<6) / כל עוד איי קטן מ-6 התנאי הנמצא בין הסוגריים המסולסלות יתקיים. |
|||
{ |
{ |
||
for(j=0;j<5;j++) |
|||
document.write("המספר כעת הוא" + a); |
|||
a=a+1; / איי ועוד אחת |
|||
} |
|||
</script> |
|||
</pre> |
|||
====תוצאה==== |
|||
<pre style="direction:ltr;"> |
|||
המספר כעת הוא 0 |
|||
המספר כעת הוא 1 |
|||
המספר כעת הוא 2 |
|||
המספר כעת הוא 3 |
|||
המספר כעת הוא 4 |
|||
המספר כעת הוא 5 |
|||
</pre> |
|||
====תרשים זרימה==== |
|||
{{בעבודה}} |
|||
[[תמונה:Tarshim.gif]] |
|||
==הלולאה do-while== |
|||
===הסבר=== |
|||
הלולאה do-while שונה מwhile רק בהבט אחד הקוד קודם מבוצע פעם אחת (ללא קשר לקיום התנאי) ורק אחר כך התנאי נבדק. |
|||
===קוד=== |
|||
<pre style="direction:ltr;"> |
|||
<script type="text/javascript"> |
|||
var i=8; |
|||
do |
|||
{ |
{ |
||
document.write(" |
document.write("*"); |
||
document.write("<br />"); |
|||
i=i+1; |
|||
} |
} |
||
while (i<3) |
|||
</script> |
|||
</pre> |
|||
===הסבר=== |
|||
אף שלפי תנאי הלולאה הפקודה מבוצעת רק אם i '''קטן''' מ3, מה שבמקרה זה שקר כיוון שi=8 אם כן הפקודה לא היתה צריכה להתבצע, אך מכיוון שהלולאה היא מסוג do while הפקודה בוצעה בכל אופן אך נעצרה אחר פעם אחת. (אילו i היה שווה 1 הפקודה היתה מתבצעת שלוש פעמים). |
|||
==הלולאה for== |
|||
===קוד=== |
|||
<pre style="direction:ltr;"> |
|||
<script language="javascript"> |
|||
var i=0; |
|||
for (i=0;i<=4;i++) |
|||
{ |
|||
document.write("המספר הוא " + i); |
|||
document.write("<br />"); |
|||
} |
} |
||
</script> |
</script> |
||
</pre> |
</pre> |
||
===הסבר=== |
|||
החלק הראשון בלולאה תפקידו הצבה ראשונית, כלומר לפני ביצוע הקוד .i=0 החלק השני הוא התנאי, אם i קטן או שווה ל4 בצע את הקוד אשר הוא הפקודה השלישית. |
|||
===תוצאה=== |
|||
<pre style="direction:ltr;"> |
|||
המספר הוא 0 |
|||
המספר הוא 1 |
|||
המספר הוא 2 |
|||
המספר הוא 3 |
|||
המספר הוא 4 |
|||
</pre> |
|||
==הפקודה break== |
|||
====קוד==== |
|||
<pre style="direction:ltr;"> |
|||
<script language="javascript"> |
|||
var i=0; |
|||
for (i=0;i<=4;i++) |
|||
{ |
|||
document.write("המספר הוא " + i); |
|||
document.write("<br />"); |
|||
if (i==2){break;} |
|||
} |
|||
</script> |
|||
</pre> |
|||
====הסבר==== |
|||
הפקודה break תוציא אותנו מהלולאה. |
|||
<br /> |
|||
i שווה ל-0, כל עוד i גדול או שווה ל-4, i יגדל ב-1. |
|||
<br /> |
|||
אם i שווה ל-2, תבוצע יציאה מיידית מהלולאה, כלומר שהספירה תפסק. |
|||
====תוצאה==== |
====תוצאה==== |
||
<pre style="direction:ltr;"> |
<pre style="direction:ltr;"> |
||
***** |
|||
המספר הוא 0 |
|||
***** |
|||
המספר הוא 1 |
|||
***** |
|||
המספר הוא 2 |
|||
***** |
|||
***** |
|||
</pre> |
</pre> |
||
==הפקודה contiune== |
|||
====קוד==== |
|||
<pre style="direction:ltr;"> |
|||
<script language="javascript"> |
|||
var i=0; |
|||
for (i=0;i<=4;i++) |
|||
{ |
|||
if (i==2){continue} |
|||
document.write("המספר הוא " + i); |
|||
document.write("<br />"); |
|||
} |
|||
</script> |
|||
</pre> |
|||
====הסבר==== |
|||
i שווה ל-0, |
|||
כל עוד i גדול או שווה ל-4, |
|||
i יגדל ב-1. |
|||
<br /> |
|||
אם i שווה ל-2 אז נקפוץ לראש הלולאה. כלומר שנדלג של ההדפסה של 2. |
|||
====תוצאה==== |
|||
<pre style="direction:ltr;"> |
|||
המספר הוא 0 |
|||
המספר הוא 1 |
|||
המספר הוא 3 |
|||
המספר הוא 4 |
|||
</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 מה שיגרום ללואה אין סופית. |
גרסה מ־16:35, 17 באפריל 2008
JavaScript |
---|
התחלת העבודה הוראת תנאי אובייקטים מערכים לולאות
פונקציות אובייקט המסמך אוביקטים נוספים JavaScript למתקדמים ספריות בינה מלאכותית |
דוגמא
קוד
<script language="javascript"> for(i=0;i<5;i++) { for(j=0;j<5;j++) { document.write("*"); } } </script>
תוצאה
***** ***** ***** ***** *****