Basic (or advance) Javascript – 1

30 בדצמבר 2014

אין תגובות

לאחרונה העברתי שיעור על Advance Javascript, במהלך השיעור, לא הייתי סגור על עצמי האם הכותרת של Advance JS היא נכונה, או שבעצם אני מלמד Basic JS ופשוט אנשים בדרך כלל לא יודעים את החומר הנ”ל.

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

הגדרת פונקציות

הדבר הבסיסי ביותר ב – JS היא הגדרת פונקציות, ישנם שלושה דרכים להגדרת פונקציות:

Code Snippet
function MyFunction1() {
    return "MyFunction 1";
}
var MyFunction2 = function () {
    return "MyFunction 2";
};
window.MyFunction3 = function () {
    return "MyFunction 3";
};

מה ההבדל ביניהם, והאם הסדר משנה, כלומר האם נוכל להפעיל את הפונקציה לפני שהיא הוגדרה ?

התשובה תהיה כך, למעשה כל הפונקציות נרשמו לאובייקט window (כלומר – אם נכתוב window נקבל בהשלמה את שלושת הפונקציות) אנחנו נשתמש בשיטה השנייה בדרך כלל כשנרצה להגדיר אובייקטים ב – JS.

ההבדל המעשי בין השיטות תהיה מתי הפונקציה פעילה, JS עובדת כך שעוד לפני שהקוד מופעל, דבר ראשון מוגדרים כל הפונקציות והמשתנים, מה שאומר שקריאה לפונקציה הראשונה תעבוד גם אם הקריאה תהיה לפני ההגדרה עצמה, לעומת זאת קריאה לפונקציה השנייה ואפילו השלישית (שגם נרשמת ל – window) תתרסק אם נפעיל אותם לפני הגדרת הפונקציה.

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

Code Snippet
MyFunction1();  //ok
MyFunction2();  //error
MyFunction3();  //error
הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *