הרשם שאלות ותשובות רשימת חברים לוח שנה חיפוש הודעות מהיום סמן פורומים כנקראו

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 25-02-06, 21:04   # 1
שקד
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
מיקום: ירושלים
גיל: 38
הודעות: 659

שקד לא מחובר  

[מדריך] JavaScript - לולאות ובקרת זרימה

ג'אווה סקריפט - JavaScript

לולאות ותחברי כתיבה
הלולאה משתמש לבצע רצף של פעולות מספר פעמים שנו מגדרים בתוכנית, ושוב בדומה לשפות שונות כגון: Java,#VC,PHP גם ל JavaScript יש מספר מבני לולאות.
בלולאה תוכל להעזר בהצגת מחרוזת טאקסט מ'ס פעמים (לדגומא 4).
וזה חוסך בכל שלא נצטרך לרשום אותו דבר כמה פעמיים אלא פשוט לעשות לולאה שתרשום את זה מספר פעמיים.


לולאת while
קוד קטן להמחשה:
HTML קוד:
<script type="text/javascript">
   while(condition)
   {
       JavaScript statement(s)
   }
</script>
הסבר, מתבצע פה תנאי קטן.
הלולאה מתבצעת כל עוד condition שרשום בין הסוגריים קיים או מחזיר חיובי הוא ימשיך לבצע את הלולאה.
הערה - אם יש תוצאה שלילת ללולאה הוא לא יציג כלום פשוט זה ישאר כמו שהוא בקוד והוא לא יפריע להמשך הדברים, אלא עם כן הגדרים משהו בנוסף.

לולאה אין סופית
הנה דוגמא בקוד ללולאה אין סופית
HTML קוד:
<script type="text/javascript">
var cs = 0 ;
   while(cs < 3)
   {
       document.write(cs + "<br />") ;
   }
</script>
בדוגמת הקוד שרשמתי למעלה יצרתי משתנה בשם CS ונתתי לו ערך 0 ואז עשיתי את הבדיקה (מה שיש בסוגריים) האם הערך של המשתנה קטן מ 3
וזה החזיר T ולכן זה מדפיס את המשתנה.
הדוגמה שנרשמה תפעל לנצח ויתקל תשובה חיובית זה יציג את זה שוב ושוב ושוב ..
במידה והנך מעוניין להגביל את המספר הפעמיים שלולאה תרוץ אז ניתן לעשות
HTML קוד:
<script type="text/javascript">
                   var a ;
                   a = 1 ;
                   while (a < 20)
                     {
                                      document.write(a + "<br />") ;
                                      a = a + 1
                     }
</script>
שימו לב בדוגמה זו יש ביטוי שמעריך את המשתנה ב +1 בתוך תחום הלולאה (הגדרת תוצאת הלולאה) שבין הסוגריים {} ולכן הלולאה תפעל רק 19 פעמים ולא 20 פעם כמו שהגדרנו, במידה ובין הסוגריים של הלולאה () יהיה שלילי הלולאה לא תרוץ.

אופרטור מקוצר
ניתן לקבוע ערך למשתנה במספר דרכים, ואחת מהן היא להשתמש באופרטור מקוצר הנה דוגמא קטנה בקוד -
HTML קוד:
<script type="text/javascript">
                   var loos ;
                   loos = 1 ;
                   while (loos < 20)
                    {
                                      document.write(loos++ + "<br /><hr>") ;

                    }
</script>
התוצאה תיהיה אותה תוצאה כמו מקודם אבל עשיתי סדר שונה כל מספר
הוספתי <hr>.
כאשר אנו מציגים משתנה אנו יכולים לשנות גם את ערכו. הפעולה loos++ גרמה לכך שלערכו של המשתנה loos יתווסף ערך 1 ואחר כך ערכו ישלח לשיטת write()

משפטים זהים
המשפטים הבאים הם זהיים לגמרי !

HTML קוד:
  coument.write(loos++) ;
^^
 document.write(loos) ;
^^
 loos = loos + 1 ;
ההגדה -
HTML קוד:
document.write(++loos) ;
^^
loos = loos + 1 ;
^^
document.write(loos) ;

לולאת for
הנה דוגמא קטנה לסוג של לולאת for:
HTML קוד:
for (initial varibale value ; condition ; varible change)
                   {

                                      javascript statement(s)

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

שימו לב שהפרדתי את כל חלקי הלולאה בנקודה פסיק (
הנה עוד דוגמא לקוד אבל הפעם עם ערכיים מספריים:
HTML קוד:
<script type="text/javascript">
                  var evil;
                   for(evil = 3; evil < 60 ; evil++)
                    {

                                      document.write(evil + "<br />") ;

                    }
</script>
הפרמטים של הלולאה for יכולים להיות ערכים קבועים, או משתנים ממש.
ולא חייב להגדיר ערך למשתנה לפני הלולאה (כמו שלמדנו באמצעות הכלי var) הסיבה הזאות זה כיוון ש JS היא שפה חופשית ולכן היא שפה מוערצת !
ויש עוד דרך לעשות זאות
HTML קוד:
                   for(var evil = 5 ; evil < 9 ; evil++)
הפרמטר הסופי מייצג את שינוי ערך השמתנה הלולאה בסימו של כל מחזור ביצוע הלולאה.
לולאות מקוננות -
לפעמים יש צורך לשלב בין לולאות כלומר שצריך להכניס בתוך לולאה עוד לולאה, אבל דברים כאלה יכולים ליגרום להרבה בילבול ולכן מומלץ לכתוב הכל בכתיב מסודר! הנה דוגמא קטנה:

HTML קוד:
<script language="javascript">
                   var rn;
                   var cl;
                   for (rn = 1 ; rn < 10 ; rn++)
                   {
                                      for(cl = 1; cl < 6 ; cl++)
                                      {
                                       document.write("[" + rn + "," + cl + "]" + "   ") ;
                                      }
                      document.write("<br \>") ;
                   }
</script
פה אתם יכולים ליראות שהמספרים התגלולו עד ל 5. ואז המספר גדל.
כשינגשים לכתיבת קוד יש קודם כל לתכנן את מהלך פעולת הלולאה.
שימו לב למשתנים שהגדרתי ואיפה הם נכנסים בלולאות מזה לדעתי אפשר להבין הכי הרבה.

אם עדיין לא הבנתם את הקטע נעשה עוד דוגמא קטנה:
HTML קוד:
<script language="javascript">
                   var a;
                   var b;
                   for (a = 1 ; a <= 10 ; a++)
                   {
                                      for(b = 1 ; b <= 1 ; b++)
                                      {
                                       document.write(a*b + " ") ;
                                      }
                      document.write("<br \>") ;
                   }
</script>
בלולאה הראשונה הגדרנו ש a=1 ולכן הלולאה התחילה לרוצה ממספר 1
ושהגדרנו 10 => a הוא רץ עד מספר עשר כלומר כאן נקבעת גודל הריצה
בלולאה השניה הגדרנו באותו צורה גם את b
לאחר מכן הכפלנו את a ב- b ולאחר מכן הדפסנו.
יש גם אפשרות למספר עד מאה פשוט להחליף את השורה

HTML קוד:
   for(b = 1 ; b <= 1 ; b++)
להחליף בזה
HTML קוד:
   for(b = 1 ; b <= 10 ; b++)
תנאים - if .. else

if - זה תנאי.
לדוגמא אפשר לעשות אם 3 גדול יותר מ 1 אז תדפיס לנו We Winner ואם הוא קטן הוא ידפיס We Lose הנה דוגמא קטנה בקוד:
HTML קוד:
<script type="text/javascript">
                   if(1<3)
                    {
                                      document.write("We the Winners =]") ;

                    }                   else                    {

                                      document.write("We lose  =[") ;
                   }
                                      
</script>
וכמובן זה ידפיס לנו We the winners כיוון ששלוש גדול מאחד!.
הפעולה נרשמת בין הסוגריים if (here) אם התנאי מתבצע הוא ידפיס מה שיש אחרי הסוגריים המסולסלים ואם התוצאה לא נכונה (זה מה שעושה else) זה ידפיס מה שיש אחרי הסוגריים שאחריו.
שוב יש פה את העניין של ה true or false.

הנה עוד דוגמה קטנה שימוש תנאי if עם משתנים.
HTML קוד:
<script type="text/javascript">
                   var a;
                   a = 3;

                   if (a == 3)
                    {
                     document.write("yes its true a = 3") ;
                    }                   
</script>
חשוב להזכיר ש else לא חייב לעשות בוא שימוש בכל תנאי if הוא רק לשימוש אם רוצים לעשות פעולה נגדית בגדר החזרת F של התנאי.

וכמובן כמו שראייתם בקוד אפשרי במשתנים וסמני השווה (אופרטורים)
כאן הגדרתי את a שיהיה שווה ל- 3 ואז עשית אם a שווה ל-3 אז שזה ידפיס
yes its true a = 3
וכמובן אם אין לנו מה להרחיב (כלומר שאחרי התנאי זה רק שורה אחד אחת וכנ"ל לגבי ה else) ניתן לעשות גם בצורה כזאות:

HTML קוד:
<script type="text/javascript">
                   var a;
                   a = 3;

                   if (a == 3)
                     document.write("yes its true a = 3") ;
                   else
                    document.write("no its fale a /= 3") ;
                   
</script>
חשוב לזכור זה רק בגדר שורה אחת בלבד אם זה יותר משורה יש להשתמש בסוגריים !

ניתן לעשות שני תנאים מחוברים לדוגמא:
HTML קוד:
<script type="text/javascript">
                   var i;
                   i = 3;
                   var a;
                   a = 6;
                                      if(i ==3 && a==4)
                   {
                                       document.write("Yes im the best")
                   } else {
                                       document.write(i + "<br /> שלילי")
                    }
</script>
ניתן גם להכניס את התנאי בין הלולאות:
HTML קוד:
<script language="javascript">
                   var i;
                   for(i = 0 ; i < 5 ; i++)
                    {

                                      if(i ==3)
                                       {

                                        break;

                                       } else {
                                        document.write(i + "<br />")

                      }
                    }
</script>
הסבר הפקודה break
הפקודה break הוא פקודה הפסקה, במקרה שלנו היא מפסיקה את ריצת הלולאה
ולכן זה סופר רק עד 3.

משפט switch

בדיקת switch, היא בדיקה חלופית לתנאי if
כגון לבדוק ערכים או להשוות ערכים הנה דוגמא קטנה :
HTML קוד:
<script type="text/javascript">
                  var i ;
                   i = 11;
                   
                                      switch(i) {
                                                         case 11 :
                                                                            document.write("its 11") ;
                                                                            break;

                                                         case 19 :
                                                                            document.write("its 19") ;
                                                                            break;

                                                         case hello :
                                                                            document.write("its hello =]") ;                   
                                                                            break;
                                      }
</script>
פה הגדרנו משתנה i ששווה ל 11 הכנסו את המשתנה בין הוסגריים של ה switch ואז נתנו לו אפשרות "להתבטא" (בעזרת case)
חשוב לדעת שאחרי ה case לא שמתי נקודה פסיק אלא נקודותיים רגילות
לאחר שהגדרתי את ה case הוספתי פקודה להדפסה וכמובן הוא ידפיס את הערך שהוא באמת שווה ל i.
בתסריט עצרתי את כל ה case בעזרת פקודת break זה עוצר אותם
וכמובן גם ב switch יש גם את הפקודה ואם לא (כמו שמוכר לנו בif - else)
HTML קוד:
<script type="text/javascript">
                   var i ;
                   i = 01;
                   
                                      switch(i) {
                                                         case 11 :
                                                                            document.write("its 11") ;
                                                                            break;

                                                         case 19 :
                                                                            document.write("its 19") ;
                                                                            break;

                                                         default :
                                                                            document.write("else =]") ;                   
                                                                            break;
                                      }
</script>
פקודת default
היא בעצם ממש כמו else שהכרנו בתנאי if
אם כל הקייסים לא נכונים הוא מבצע מה שיש ב default ואם לא הגדרתם default כלשהו, זה לא ידפיס כלום.

מדריך זה נכתב למטרת עזר ולימוד משתמשים, ואם אתה חושבים שהעקתי מ GuideMaster
אז טעיתם =]
אני אישרתי לטל להעתיק לשם את המדריך

בהצלחה לכולם ואני מקווה שהמדריך באמת יעזור לכם !
__________________
  Reply With Quote
ישן 25-02-06, 21:20   # 2
Kuchi
הוסטסניון
 
Kuchi's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אור יהודה
גיל: 35
הודעות: 2,540
שלח הודעה באמצעות MSN אל Kuchi

Kuchi לא מחובר  

אחללה מדריך
  Reply With Quote
ישן 26-02-06, 11:46   # 3
d0rix
מתאורר / יצא בחוץ
 
מיני פרופיל
תאריך הצטרפות: Nov 2005
גיל: 33
הודעות: 1,612

d0rix לא מחובר  

פשש איזה השקעה שקד, כל הכבוד אחי.
  Reply With Quote
ישן 26-02-06, 12:13   # 4
k.machine
תודה על תרומתך.
 
k.machine's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 3,748

k.machine לא מחובר  

אוהב אותך שקד
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

Tags
מבוא, מדריך למתחילים, מדריך js

כלים לאשכול
תצורת הצגה

חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 18:20.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ