הקדמה בשיעור הקודם למדנו על JavaScript, איך רושמים טקסט ואיך עושים משתנים.
מתחילים
בשיעור מספר 8 למדנו איך לעשות הודעות קופצות, עם בחירה, קבלת קלט ואישור.
בינתיים אם נלחץ על כפתור האישור לא ייקרה כלום.
בשביל זה יש צורך במשתנים, לדוגמה נרשום את הטקסט שייצא מתיבת הקלט ונרשום אותו:
קוד PHP:
var x = prompt("Enter your name: ");
window.document.write("Hello, " + x + " welcome to my site!");
נכון רשמתי את זה בשיעור מס' 8, אבל לא הבנתם כמה דברים ועל זה אני רוצה לחזור.
שהגדרנו משתנה (var), בשם "x" ונתנו לו את הערך של הקוד של הודעה קופצת. כלומר אחרי שהמשתמש לוחץ על אישור
זה מציב במשתנה x את הערך (value).
ואז רושמים את הטקסט, מוספים את המשתנה x, ורושמים את שאר הטקסט.
לולאות ובקרת זרימה
לולאה, הינה דרך לבצע פעולה בתנאי שיש תנאי מתקיים. כלומר אנחנו נעשה את Y רק אם X יהיה שווה/גדול מ/קטן מ/ועוד ל-Z.
הלולאה while
התחביר ללולאה הינו:
קוד PHP:
while(condition){
JavaScript statement(s)
}
כלומר, כל עוד התנאי מתבצע זה יעשה את מה שיש בסוגריים המסולסלים { }.
בסוף הפעולות הלולאה תבדוק אם התנאי מתקיים ואם כן אז זה יחזור עוד פעם על הלולאה עד שהתנאי יהיה שקרי(כלומר לא נכון).
דוגמה:
קוד PHP:
var num = 1;
while(num < 5){
window.document.write(num + "<br /">);
}
טוב, משיעור מתמטיקה אני מניח שאתם מכירים את הסימן ">", מי שלא מכיר(גם מי שמכיר) להלן טבלה עם כל האפשרויות שאפשר לשים בתנאי:
| שם הסימן |
שימוש |
| == |
שווה ל.. רק אם צד ימין שווה לצד שמאל. |
| != |
לא שווה ל.. רק אם צד ימין לא שווה לצד שמאל. |
| < |
קטן מ.. רק אם צד ימין קטן מצד שמאל. |
| > |
גדול מ.. רק אם צד ימין גדול מצד שמאל. |
| => |
גדול או שווה ל.. רק אם צד ימין גדול או שווה לצד שמאל. |
| =< |
קטן או שווה ל.. רק אם צד ימין קטן או שווה לצד שמאל. |
שימו לב, זה לא משנה איך אתם רושמים, "<=" או "=<", זה לא משנה הסדר של איזה סימן מגיע קודם!
עוד משהו חשוב, כבר אני רואה שהרבה שואלים למה צריך לרשום "==" ולא "=" בפעולת בדיקה.
אז זהו, שאלה מצויינת. זוכרים איך מכניסים ערך למשתנה?
שמים לב לסימן הכנסה (=)? אם נרשום את הסימן שווה רק פעם אחת לדוגמה כך:
JavaScript תשים למשתנה x ערך 2.
ברור?
כפי שכבר ראיתם בדוגמתינו:
קוד PHP:
var num = 1;
while(num < 5){
window.document.write(num + "<br /">);
}
הפעולה תתבצע בלי סוף עד שנסגור את הדפדפן.
וזה למה?
כי הגדרנו שאם num קטן מ-5 אז זה ירשום.
איך פותרים את זה?
פשוט מאוד!
נוסיף שורת קוד כזאת:
num++;
כלומר:
קוד PHP:
var num = 1;
while(num < 5){
window.document.write(num + "<br /">);
num++;
}
ולאחר רשימת התוצאה זה יוסיף ל-num עוד אחד.
שימו לב
כמו בכל השפות, גם ב-JS יש את זה.
אין לרשום לולאה עם נקודה פסיק ";" בסוף!
הלולאה for
להלן התחביר של לולאת for:
קוד PHP:
for(initial variable value; condition; variable change){
JavaScript statement(s)
}
initial variable value - הגדרת משתנה חדש ולתת לו ערך.
condition - תנאי. הלולאה תתקיים כל עוד התנאי יהיה נכון.
variable change - שינוי המשתנה בסוף כל לולאה.
לדוגמה:
קוד PHP:
for(num = 1; num < 5; num++){
window.document.write(num + "<br /">);
}
וכן, שני הקודים הבאים זהים זה לזה:
קוד PHP:
for(num = 1; num < 5; num++){
window.document.write(num + "<br /">);
}
קוד PHP:
var num = 1;
while(num < 5){
window.document.write(num + "<br /">);
num++;
}
רק נבחר מה שיותר נוח ^^
לולאות מקוננות
לפעמים, יש צורך בבדיקה של יותר דבר אחד.
דוגמא:
קוד PHP:
for(var x = 1; x < 5; x++){
for(var y = 1; x < 5; x++){
document.write("x = " + x + " y = " + y);
}
}
התנאי if ו-else
לפעמים, אנחנו רק רוצים לבדוק דבר אחד וזהו, שלא יחזור על הלולאה.
בשביל זה יש לנו משפט if:
קוד PHP:
if(condition){
JavaScript statement(s)
}
דוגמא:
קוד PHP:
var x = 1;
if(x == 1){
alert(x);
}
די פשוט לא?
הגדרנו את x כאחד, בדקנו אם x שווה ל-1 ואם כן אז עשינו שתיהיה הודעה קופצת שתרשום שם את הערך של x.
else
בינתיים יש לנו רק משפט if.
אבל אם אנחנו רוצים לדעת אם התוצאה החזירה ערך שלילי, כלומר לא התקיימה? בשביל זה יש משפט else.
קוד PHP:
var x = 2;
if(x == 1){
alert(x);
}
else{
alert("x is not equal to 1");
}
זה אם x לא שווה לאחד אז זה ירשום "x is not equal to 1".
עוד דבר שאפשר לעשות זה כך:
קוד PHP:
var x = 2;
if(x == 1){
alert(x);
}
else if(x == 2){
alert(x);
}
else{
alert("x is not equal to 1");
}
ברור מאוד נכון?
זהו!
בשיעור הבא אלמד אתכם על עוד כמה לולאות ועוד כמה משפטים חשובים.
שיעורי בית
תבנו לי לולאה שמריצה מספרים מ-1 עד 100 ובודקת אם זה מספר שהוא כפולה של 10.
אם כן זה ירשום רק את המספרים שהם כפולה של עשר.
כלומר להריץ לולאה מ-1 עד 100 ותכתוב רק את המספרים הבאים:
10
20
30
40
50
60
70
80
90
100