PracticU

תרגיל 4

בלי כתוביותעם כתוביות
PracticU › קורס ג'אווה סקריפט מעשי - JavaScript › תרגיל 4
מילון מושגים:
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
jQuery - ספריית JavaScript ותיקה שמפשטת את הגישה לרכיבי הדף, אירועים ואנימציות בדפדפן.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
CSS - שפת עיצוב שקובעת את המראה של דפי אינטרנט: צבעים, גופנים, מיקום וסידור הרכיבים.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.

תרגיל 4
תרגיל 4 מוסיף תיבות קלט שבהן המשתמש בוחר את המספר שממנו מתחילים להדפיס, ומציג את הטווח שבין שני המספרים. הפתרון מוצג גם ב-JavaScript וגם ב-jQuery, כי המרצה מדגיש שצריך להכיר את שניהם, בהתאם למה שהשוק דורש.
תיבות הקלט
1. תיבת טקסט: שדה input עם מזהה ייחודי וערך התחלה. את תכונת name מוחקים, כי אין שליחה לשרת.
2. כפתור: שדה מסוג button עם onclick שקורא לפונקציה task4.
3. שני ערכים: מספר התחלה ומספר סיום, שכל אחד בתיבה משלו עם מזהה ייחודי.
4. סדר האלמנטים: התיבות והכפתור מופיעים לפני הדיב שמציג את התוצאה, כך שהמשתמש רואה קודם את הקלט ואחר כך את התשובה.
הפונקציה
1. קריאת הערך: ב-JavaScript document.getElementById("...").value, וב-jQuery $("#...").val().
2. המרה למספר: parseInt הופך את הטקסט למספר. בלי המרה ההשוואה נעשית כטקסט, ולכן 3 נראה גדול מ-11, כי הוא מתחיל בספרה גדולה יותר.
3. לולאה: מתחילה במספר ההתחלה, רצה עד הסיום ומעלה ב-1 בכל סיבוב.
4. צבירה: המשתנה מצטבר בעזרת += ומוסיף בכל סיבוב את המספר ואת br.
5. הדפסה: רק אחרי הלולאה מכניסים את כל התוצאה לדיב, פעם אחת.
עיצוב
1. קובץ CSS נפרד: מחלקה בשם task4 עם רקע צהוב ויישור למרכז. המרצה ממליץ לשים את כל העיצוב בקובץ נפרד ולא בתוך ה-HTML.
2. addClass: ב-jQuery מוסיפים את המחלקה לדיב התוצאה, ולכן העיצוב מופיע רק אחרי הלחיצה.
שימו לב
1. הדפסה בתוך הלולאה: מציגה תוצאות חלקיות ומבלבלת, ולכן עדיף לצבור ולהדפיס בסוף.
2. text מול html: text מתעלם מתגיות, ולכן כשיש br משתמשים ב-html, כדי שהשורות ירדו.
3. בדיקה: בדיבאגר רואים את ערכי המשתנים בכל שלב, כולל הערך שנלקח מתיבת הטקסט, ואפשר לבדוק את הסוג שלו.
השיעור הבא בקורס: תרגילים 5-7

פרקי ההרצאה: תרגיל 4

  1. 00:00

    תרגיל 4: קלט מהמשתמש בתיבות טקסט

  2. 01:03

    כפתור להפעלת המשימה הרביעית

  3. 02:51

    מזהה ID לתיבת הקלט

  4. 04:29

    שליפת הערך מתיבת הטקסט

  5. 07:45

    לולאה שמדפיסה את המספרים שהוקלדו

  6. 10:37

    דיבאג: הלולאה לא נכנסת

  7. 12:00

    המרת טקסט למספר עם parseInt

  8. 14:01

    עיצוב התוצאות בצהוב ובמרכז

תמלול ההרצאה: תרגיל 4

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

  1. 00:03

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

  2. 00:34

    ובואו נעשה על המסך שני טקסט בוקסים ונתחיל לרשום קוד, אנחנו רושמים קוד גם ב-JavaScript וגם ב-JQuery במקביל, כי אתם צריכים לדעת את שניהם.

  3. 00:49

    אתם חייבים לדעת גם את ה-JavaScript וגם את ה-JQuery, כי זה מה שהשוק היום דורש. נעשה פונקצ'ן חדש, פונקציה חדשה, שנקרא לה Task 4, משימה רביעית, שהיא תופעל על ידי לחיצת כפתור.

  4. 01:07

    בואו נעשה גם כפתור, Task 4 שמפעיל את הפונקציה הזאת, אבל לפני הכפתור אנחנו צריכים לשים טקסט בוקס.

  5. 01:16

    אנחנו צריכים לשים טקסט בוקס כדי שליוזר יהיה איפה להכניס את המספר תחילי ומספר סופי. אנחנו כותבים input, שזה רכיבי input של html שנועדו במקור לשלוח טופס לשרת.

  6. 01:33

    אנחנו לא הולכים לעשות טפסים ולשלוח אותם לשרת, אנחנו רוצים רק את השדה טקסט. חוץ מזה יש לנו גם לדוגמה, יש לנו סוג לדוגמה color לבחור צבע, button לבחור כפתור, פסוורד זה סיסמאות, Numbers זה רק מספרים, רדיו זה לבחור לדוגמה מין זכר או נקבה איזה, לבחור אחת האופציות.

  7. 01:56

    ויש פה עוד הרבה אפשרויות בסוג input, כאילו להכניס נתונים לטופס. מדברים עליהם בהרחבה בקורס של HTML, אנחנו עכשיו לא נעבור על כל הרכיבים ונסתפק ברכיב הקלאסי שנקרא טקסט.

  8. 02:15

    כשאנחנו נכתוב שם משהו ונשלח לשרת, הוא שלח עם שם שנחשום בפרמטר name. אנחנו לא רוצים לשלוח שום דבר לשרת, אז אנחנו פשוט יכולים למחוק את הרכיב הזה. המטרה של החלק הזה זה לבנות כזאת שורה שנשלחת לשרת, שיהיה כתוב שם name שווה yoni.

  9. 02:35

    h שווה 29. השם של הפרמטר הזה נכנס ב-name, אבל זה לא מעניין אותנו, אנחנו מוחקים אותו, ומכניסים איזשהו ערך תחילי. value זה ערך תחילי שהוא הולך להיות בתיבת טקסט עד שלא נחליף אותו, עד שלא נשנה אותו.

  10. 02:51

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

  11. 03:09

    מצוין, בוא נעשה עוד תיבת טקסט, הפעם עם ערך נניח 10 או 9, וזה יהיה הערך הסופי, אני נותן לזה מזהה task4 end num יפה ואני צריך גם כפתור אני יכול לעשות כפתור על ידי תגיד button ואני יכול לעשות כפתור על ידי תגיד input type button אין שום הבדל בסופו של דבר זה אותו כפתור ואנחנו נעשה עכשיו את הכפתור בצורת input type button ונרשום לו לדוגמה על הכפתור

  12. 03:52

    task4 שימו לב יש שני דרכים איך להכין כפתור ב html דרך תג אלמנט button רכיב button ודרך input type button כמובן שצריך להגיד לו שבזמן הלחיצה on click להפעיל פונקציה שנקראת task 4 משימה מספר 4 יפה אז משימה מספר 4 תופעל כשנעשה

  13. 04:14

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

  14. 04:48

    get-element-by-ID זאת אומרת אנחנו עוברים על כל הרכיבים ומחפשים רכיב שיש לו מזהה ID מסוים ולוקחים מתוך האובייקט הזה את ה-value לא אינרדג' טימל ב-div ב-p בפראגרף לוקחים אינרדג' טימל בטקסט בוקס לוקחים value, אוקיי?

  15. 05:13

    ועכשיו אני כותב אותו דבר ב-JQuery. ב-JQuery, לפי הסינטקסט של JQuery, אנחנו כותבים אותו דבר, רק שימו לב, נקודה value. ב-JavaScript זה נקודה value, ב-JQuery זה נקודה value, וזה פונקציה.

  16. 05:30

    ולכן צריך להוסיף סוגריים בסוף. אם אתם שואלים אותי איך אתה יודע את כל זה, איך אתה זוכר את כל זה, אתם יכולים לראות שב-W3school יש דוגמאות ב-JQuery, html get אתם הולכים לw3school ולוקחים משם את הדוגמאות אין שום בעיה שימו לב ב jquery כותבים קודם כל דולר אחרי זה מזהה עם סולמית ואחרי זה נקודה val כן יכולנו עשינו נקודה html נקודה טקסט עכשיו נקודה val יפה מאוד

  17. 06:11

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

  18. 06:44

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

  19. 07:03

    יפה, בואו נתחיל בג'אווה סקריפט ושימו לב גם איך נהוג בג'אווה סקריפט לרשום שם של משתנה. כל מילה, שם משתנה שמורכב מכמה מילים, כל מילה מתחילה בעוד גדולה, חוץ ממילה ראשונה שמתחילה בעוד קטנה.

  20. 07:22

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

  21. 07:45

    לשים camel case טוב בוא נתחיל לעשות לולאה שבה מתחילים מ-i מתחיל אינדקס של לולאה i מתחיל מהרכיב שהכניס לנו משתמש והלולאה ממשיכה כל עוד i הזה קטן מהערך העליון שהמשתמש הכניס לנו וכל פעם i מתקדם ב-1.

  22. 08:05

    זאת אומרת מתחילים נניח מ-7 ואחרי זה 8, יש 10, 11, 12 עד שמגיעים. יפה.

  23. 08:14

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

  24. 08:30

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

  25. 08:56

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

  26. 09:18

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

  27. 09:53

    הכל מצוין תראו פתאום זה לא עובד מה קרה לו למה הוא לא עובד אני אומר לו תדפיס לי מ-3 עד 21 והוא לא עובד לי בוא נעשה F12 ונעבור שורה שורה ונמצא איפה הבעיה למה פתאום הוא הפסיק לעבוד לי אין דבר כזה שלפעמים הוא עובד לפעמים הוא לא עובד הוא תמיד צריך לעבוד וזה התפקיד של אנשי QA בדיקות תוכנה שמחפשים את המקרים בהם התוכנה פתאום הפסיקה לעבוד כי מתכנת לא חשבה על משהו בואו נריץ דיבאגר זה

  28. 10:28

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

  29. 10:44

    עשיתי קונטרול F5 ואני אומר לו כזה דבר מ-3 עד 11. בואו נראה מה יקרה. שמתם לב שהוא עצר לבד שם? אוי, הוא לא נכנס ללולאה. אתם רואים שהוא דילג על הלולאה?

  30. 11:02

    הוא דילג על הלולאה, הוא לא נכנס. מאוד מוזר מה קורה פה. I3, סטארט-נאם 3, N-11, הכל נראה תקין אבל הוא לא נכנס לי לתוך לולאה, הוא ישר קפץ מעליה.

  31. 11:16

    בגלל זה גם המסך ריק. בואו ניקח את התנאי של הלולאה ונראה אם התנאי הזה אמת ואם הוא היה אמת הוא היה צריך להיכנס, אבל הוא פולס, הוא שקר.

  32. 11:29

    למה התנאי שקר? I3, N-11, 3 ו-11 זה בסדר, זה מה שהכנסתי ו-I3 לא קטן מ-11, איך זה יכול להיות? עכשיו אני אספר לכם זאת בעיה ידועה שכשמתייחסים למספרים כאילו זה טקסט כאילו זה סטרינג אנחנו צריכים להגיד למערכת זה מספרים אל תחשבי שזה טקסט למרות שהמשתמש הכניס את זה אז הוא חושב שזה טקסט אני אומר

  33. 12:01

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

  34. 12:34

    טקסט ולא מספר ובניגוד לשפות כמו c-sharp וג'אווה שם אני מגדיר סוג טיפוס נתונים מוגדר לדוגמה אני אומר שזה אינטג'ר פה אנחנו לא מגדירים טיפוס נתונים מוגדר בגלל זה מאוד חשוב שנעשה ידנית פרס אינט אחרת פשוט המערכת שלנו לא תעבוד במקרים מסוימים.

  35. 12:59

    במקרים בהם הספרה הראשונה היא... הוא שופט הכל לפי הספרה הראשונה, אוקיי? כי הוא משווה את זה בסדר האלף-בית, היא בסדר הטקסטואלי, ובגלל זה הוא לא מזהה שאחד גדול משני.

  36. 13:17

    הוא לא רואה את כל הספרות, הוא מסתכל, הספרה הראשונה היא ראשונה, השנייה היא שנייה, כי ככה משווים טקסט לטקסט.

  37. 13:33

    בואו נראה שהכל עובד לנו, ואני רואה שזה עובד, 3 עד 11 עובד, מה שלא היה לפני כן, תמיד אני עובד עם F12 ועם קונסול פתוח לראות את השגיאות.

  38. 13:49

    אם יש לי שגיאות, אני מקבל אותן במסך של קונסול. המערכת כותבת פה את השגיאות ואני רואה שזה כן עובד. למרות שהספרה הראשונה 4 יותר גדולה מספרה הראשונה 1, הוא עדיין מבין ש-4 יותר קטן מ-13, אוקיי?

  39. 14:06

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

  40. 14:42

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

לקורס המלא: קורס ג'אווה סקריפט מעשי

ההרצאה הקודמת: תרגילים 1-3

ההרצאה הבאה: תרגילים 5-7

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס TypeScript
  • קורס ריאקט - React
  • קורס NodeJS