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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. משתנה מחוץ לפונקציה

משתנה מחוץ לפונקציה

מתוזמן נעוץ נעול הועבר תכנות
7 פוסטים 4 כותבים 224 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א מנותק
    א מנותק
    אנא
    כתב ב נערך לאחרונה על ידי אנא
    #1

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

    let i = 1
    
    function y (){
      console.log(i)
    }
    

    ולכאורה הוא אמור לא לעבוד כי המשתנה לא הוכרז עדיין
    כמו למשל כאן

    function e (){
      console.log(g)
      let g = 1
    }
    

    איפה הטעות שלי?
    צילום מסך 2022-08-22 000351.png

    א dovidD 2 תגובות תגובה אחרונה
    0
    • א אנא

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

      let i = 1
      
      function y (){
        console.log(i)
      }
      

      ולכאורה הוא אמור לא לעבוד כי המשתנה לא הוכרז עדיין
      כמו למשל כאן

      function e (){
        console.log(g)
        let g = 1
      }
      

      איפה הטעות שלי?
      צילום מסך 2022-08-22 000351.png

      א מנותק
      א מנותק
      אורח פורח
      כתב ב נערך לאחרונה על ידי
      #2

      @אנא המשתנה מוגדר אחרי השימוש בו הוא עדיין לא קיים כשאתה קורא לו

      א תגובה 1 תגובה אחרונה
      -1
      • א אורח פורח

        @אנא המשתנה מוגדר אחרי השימוש בו הוא עדיין לא קיים כשאתה קורא לו

        א מנותק
        א מנותק
        אנא
        כתב ב נערך לאחרונה על ידי
        #3

        @אורח-פורח אז זה השאלה שלי האם מחוץ לפונקציה הוא מוגדר?
        הרי לא השתמשתי בו

        תגובה 1 תגובה אחרונה
        0
        • א אנא

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

          let i = 1
          
          function y (){
            console.log(i)
          }
          

          ולכאורה הוא אמור לא לעבוד כי המשתנה לא הוכרז עדיין
          כמו למשל כאן

          function e (){
            console.log(g)
            let g = 1
          }
          

          איפה הטעות שלי?
          צילום מסך 2022-08-22 000351.png

          dovidD מנותק
          dovidD מנותק
          dovid
          ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          @אנא כתב במשתנה מחוץ לפונקציה. תקני?:

          אפילו כשקראתי לפונקציה בלי להתייחס לשאר

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

          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
          א תגובה 1 תגובה אחרונה
          5
          • dovidD dovid

            @אנא כתב במשתנה מחוץ לפונקציה. תקני?:

            אפילו כשקראתי לפונקציה בלי להתייחס לשאר

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

            א מנותק
            א מנותק
            אנא
            כתב ב נערך לאחרונה על ידי אנא
            #5

            @dovid תודה על התשובה

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

            מנצפכמ dovidD 2 תגובות תגובה אחרונה
            0
            • א אנא

              @dovid תודה על התשובה

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

              מנצפכמ מנותק
              מנצפכמ מנותק
              מנצפכ
              כתב ב נערך לאחרונה על ידי
              #6

              @אנא כתב במשתנה מחוץ לפונקציה:

              לא כדאי להכניס משתנים מחוץ לפונקציה כדי לא להכביד

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

              ספרי קודש בזול | אוטומציות גוגל ימות המשיח ועוד
              pnhspnhs29@gmail.com

              תגובה 1 תגובה אחרונה
              1
              • א אנא

                @dovid תודה על התשובה

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

                dovidD מנותק
                dovidD מנותק
                dovid
                ניהול
                כתב ב נערך לאחרונה על ידי dovid
                #7

                @אנא כתב במשתנה מחוץ לפונקציה:

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

                בא נבחן במידה ולא היה שום משמעות מבחינת הכבדה.
                במקרה כזה היית תמיד שם בחוץ? לא. כי מה שלא צריך להיות בחוץ זה רע שזה בחוץ.
                בתכנות תמיד מנסים שחלקים יהיו כמה שיותר סגורים בקופסאות. ככה כשיש בעיה מוצאים את הקופסה הבעייתי בקלות ומתקנים/מחליפים אותה. כמה שיותר תלות בין הפונקציה לבין העולם שסביבה, ככה הקוד גרוע וקשה לתחזוקה. לכן בברירת מחדל, משתנים שבשימוש בפונקציה יוכרזו רק איפה שהם נדרשים. נהוג גם למצמצם אפילו בתוך הפוקנציה לתוך הבלוק (if, for וכדומה) הנדרש עם מילת let שמאפשרת את הצמצום.
                משתנה ששמים מחוץ לפונקציה הוא שיתוף/שמירת מידע מעבר לחיי הפונקציה. למשל מונה ביקורים, סביר שתעשה ככה:

                let counter = 0;
                
                function inc(){
                    counter++;
                }
                

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

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

                • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                תגובה 1 תגובה אחרונה
                9
                תגובה
                • תגובה כנושא
                התחברו כדי לפרסם תגובה
                • מהישן לחדש
                • מהחדש לישן
                • הכי הרבה הצבעות


                בא תתחבר לדף היומי!
                • התחברות

                • אין לך חשבון עדיין? הרשמה

                • התחברו או הירשמו כדי לחפש.
                • פוסט ראשון
                  פוסט אחרון
                0
                • דף הבית
                • קטגוריות
                • פוסטים אחרונים
                • משתמשים
                • חיפוש
                • חוקי הפורום