
undefined, אלא אם הוגדר לו ערך ברירת מחדל.arguments: אובייקט שמחזיק את כל הערכים שנשלחו, כולל העודפים. לפי השיעור זה נדיר בשימוש.undefined. גם return בלי ערך מחזיר undefined.הטקסט המלא של הדקות הראשונות בהרצאה «שפת JavaScript - פונקציה רגילה» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שהוא מאוד בסיסי בג'אווה סקריפט אלו פונקציות. בואו נבנה פונקציה do something console.log doing something ואנחנו רוצים לקרוא לה do something יש לי פה שגיאה something ונקרא לה ונראה שהיא פשוט מתבצעת.
כמה דברים בנוגע לפונקציות דבר ראשון אנחנו יכולים לשלוח לפונקציות פרמטרים בואו נבצע a,b,c ונדפיס a,b,c ונשלח 10,20 ונריץ והנה אנחנו רואים שזה ביצע את זה. עכשיו אנחנו לא חייבים לשלוח את כל הפרמטרים ואז מה שלא שלחנו יהיה undefined.
אנחנו יכולים לבוא לפרמטר ולהגיד שמע אם לא שולחים שום דבר תן איזשהו ערך ברירת מחדל ואז אם לא שלחו כלום אנחנו רואים שיש לו את הערך ברירת מחדל. אם אנחנו כן שולחים משהו אז הוא מקבל את מה ששלחנו ולא את ערך בירת המחדל.
דבר נוסף, אנחנו יכולים לשלוח יותר פרמטרים. בואו נשלח כאן גם 30 ו-40 ו-true. זה בסדר, יש שפות שלא מאשרות את זה, שפות אחרות יכולות להגיד אם הפונקציה דורשת שלושה פרמטרים, אתה חייב לשלוח לי שלושה, לא פחות ולא יותר.
JavaScript אין בעיה לשלוח יותר, לשלוח פחות, אני לא אומר שזה הגיוני לבצע דבר כזה, JavaScript מאשר אם אנחנו לוקחים את הפונקציה וכותבים אותה פונקציה בדיוק אנחנו בעצם עם אותו השם אנחנו דורסים את הפונקציה הקודמת זה לא משנה מה הפרמטרים שלה מקבלים
בואו נכתוב פה doing something else אם אני עכשיו אנסה לבצע את זה כמובן אין לי פה a, b ו-c אז המערכת תריס לנו את הפונקציה השנייה שדרסה את הפונקציה הראשונה לכן אין דבר כזה ב-JavaScript העמסת פונקציות כתבתם פונקציה עם שם מסוים והשם, אתם לא יכולים לדרוס אותה,
לעשות לה סליחה overriding, אה... overloading, סליחה, העמסה, לא דריסה, העמסה. דריסה זה משהו שקשור ל-object oriented וזה כן אפשר לבצע, נראה בהמשך.
כרגע אני לא יכול לכתוב שתי פונקציות עם אותו השם. בואו ניפטר מזה. דבר נוסף, פונקציה יכולה, בואו נרשום את זה פה, גם להחזיר לי ערך ריטרן a ועוד b כפול c, אם לא כפול c, כי c זה מחרוזת בדרך כלל, אני רואה פה, אז בואו נגיד רק a ועוד b. עכשיו
נקבל את הערך, קונסטר ריזולט, נציג קונסולוג ריזולט, נריץ, והנה אנחנו רואים ש-10 ועוד 20 החזיר לנו 30. אם הפונקציה לא כתוב ריטרן בה ואנחנו מקבלים ממנה את הערך,