הי אביגיל,
בשמחה.
אגב- אפשר להיכנס למסך הגדרות משתמש כאן בפורום כדי לבחור לעצמך שם משתמש יותר נעים מאשר המספר הזה
(ובצד שלי אני צריך איכשהו לחבר את הפורום והאתר כך ששם המשתמש יילקח אוטומטית, אבל בינתיים בכל מקרה תצטרכי לעשות את זה ידנית)
לגבי התרגילים- הפיתרונות מעולים כתובים יפה וגם עושים את הדבר הנכון.
אני רושם את הדברים החשובים קודם ואחרי זה הערות יותר קטנות:
-
הפונקציה compare שלך מדפיסה את התוצאה. בדרך כלל אנחנו מעדיפים שפונקציה ״תחזיר״ תוצאה והפונקציה שקראה לה תדפיס את התוצאה - כלומר לא לערבב חישוב עם הדפסה.
-
את מגדירה פעמיים את הפונקציה random. זה לא נורא כשמדובר בתרגיל אבל בחיים האמיתיים זה יכול לבלבל. מומלץ למצוא שמות שונים לפונקציות שונות.
-
משהו ברווחים אצלך לא מסתדר בעין. ממליץ להקפיד לשים רווחים ואינדנטציה בצורה נכונה.
עכשיו כמה הצעות קטנות יותר לשיפור:
נראה שהשורה הזאת חוזרת על עצמה כמה פעמים:
var num1 = Math.floor(Math.random() * max);
מומלץ יותר לכתוב פונקציה שתקבל את הטווח ותחזיר מספר אקראי בטווח.
את שורת ההדפסה הזאת:
console.log("numbers: num1 "+ num1 + " num2 "+ num2 + " num3 " + num3);
אפשר בדפדפנים חדשים להחליף בשורה הקצת יותר קריאה (טוב תלוי את מי שואלים):
console.log(`numbers: num1 = ${num1}, num2 = ${num2}, num3 = ${num3}`);
(הסבר מלא על סימן הגרש ההפוך ועוד יכולות חדשות של JS נמצא בקורס ES6 כאן באתר)
מתכנתים היום מעדיפים להשתמש במילה let במקום במילה var. את יכולה לשמוע על ההבדל בין הפקודות בשיעור המתאים מקורס ES6:
https://www.tocode.co.il/bundles/es6/lessons/let-and-const
אני חושב שכדאי לצפות בו כבר עכשיו ולהתרגל לעבוד עם let כשאת פותרת את התרגילים בקורס. זה לא נורא להשתמש ב var, הוא עובד וימשיך לעבוד לנצח ויש עדיין מקומות שמשתמשים בכתיב הזה, אבל אם את עכשיו בונה לעצמך הרגלים עדיף להתרגל לדבר החדש יותר.
יש ב JavaScript פונצקיה בשם max שכבר יודעת לקבל מספר מספרים ולהחזיר את הגדול מביניהם. זה נראה ככה:
// returns 33
Math.max(10, 25, 33, 2)