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

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

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

value מילה שמורה בJS??

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

    @לעזור-לכולם אמר בjs- תפיסת אלמנט והכנסתו לטופס:

    אי אפשר לקבוע פונקציה בשם value

    זהו, למה באמת אי אפשר? 🙄

    Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
    טיפים

    ל תגובה 1 תגובה אחרונה
    1
    • ל מנותק
      ל מנותק
      לעזור לכולם
      השיב לצדיק תמים ב נערך לאחרונה על ידי
      #2

      @צדיק-תמים
      כלומר value היא מילה שמורה שאי אפשר להשתמש בה לפונקציות?

      י 2 תגובות תגובה אחרונה
      0
      • י מנותק
        י מנותק
        יוסף בן שמעון
        השיב ללעזור לכולם ב נערך לאחרונה על ידי
        #3

        @לעזור-לכולם value זו מילה שמורה ב HTML
        בJS אפשר להשתמש בה

        תגובה 1 תגובה אחרונה
        0
        • י מנותק
          י מנותק
          יוסף בן שמעון
          השיב ללעזור לכולם ב נערך לאחרונה על ידי
          #4

          @לעזור-לכולם https://jsitor.com/M8u0dDOrKv

          תגובה 1 תגובה אחרונה
          1
          • yossizY מחובר
            yossizY מחובר
            yossiz
            השיב ללעזור לכולם ב נערך לאחרונה על ידי yossiz
            #5

            @לעזור-לכולם אמר בjs- תפיסת אלמנט והכנסתו לטופס:

            אי אפשר לקבוע פונקציה בשם value (עכ"פ בשילוב עם עוד שפות, אשמח למידע בנושא)

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

            function f(event) {
              with (document) {
                with (event.currentTarget) {
                  // your code
                }
              }
            }
            

            לכן קיימות הרבה משתנים שלא בהכרח צפית להם. כגון event שמועבר כארגומנט, וכל המאפיינים של document ו-event.currentTarget. לכן המילה value מתורגם כהצבעה על ה-event.currentTarget.value ולא על הערך של ה-value הגלובלי
            שם ערטילאי שכתוב בקוד יתורגם לפי כללי ה-resolution של שמות ב-JS.
            באמת זו אחת הסיבות שממליצים לא להשתמש במטפלי אירועים בצורת inline בתוך ה-HTML, משפט with גם לא מומלץ מסיבה זו

            נ.ב. חלק מזה למדתי מתוך כלי המפתחים של כרום כמבואר בתמונה:
            3316aa7e-ffee-44c7-ac04-a7b457c353a7-CleanShot 2022-06-15 at 22.16.11.png


            490c159b-dec7-4171-8b94-7098d4cedafd-CleanShot 2022-06-15 at 22.17.39.png

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            yossizY צדיק תמיםצ 2 תגובות תגובה אחרונה
            7
            • yossizY מחובר
              yossizY מחובר
              yossiz
              כתב ב נערך לאחרונה על ידי
              #6

              @לעזור-לכולם עכשיו מסקרן אותי איך גלית את הרז?

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              תגובה 1 תגובה אחרונה
              0
              • yossizY מחובר
                yossizY מחובר
                yossiz
                השיב לyossiz ב נערך לאחרונה על ידי yossiz
                #7

                @yossiz אמר בjs- תפיסת אלמנט והכנסתו לטופס:

                הדפדפן מריץ את זה בתוך מעטפה מסויימת, המעטפה נראה כך:
                function f(event) { with (document) { with (event.currentTarget) { // your code } }}

                למען הפדנטיות האהובה עלי, נראה לי כעת שזה מתנהג יותר כמו זה:

                function f(event) {
                  let that = this
                  with ({ ...document, this: that, event }) {
                    with ({ ...event.currentTarget, this: that, event }) {
                      // your code
                    }
                  }
                }
                

                אין דרך אמיתי בקוד JS לייצג מה קורה בפועל, כי האיגוד של this וארגומנטים תמיד קורה לפני תוכן הפונקציה, ופה זה מתנהג כאילו מיוצר סקופ של with בתוך הפונקציה אבל עם עדיפות נמוכה מהסקופ הלוקלי של הפונקציה, לכן האיגוד של הפרטמטר event ו-this גוברים על האיגוד של ה-with.
                אני עוד לא בטוח 100%

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                תגובה 1 תגובה אחרונה
                2
                • צדיק תמיםצ מנותק
                  צדיק תמיםצ מנותק
                  צדיק תמים
                  השיב לyossiz ב נערך לאחרונה על ידי צדיק תמים
                  #8

                  @yossiz אמר בjs- תפיסת אלמנט והכנסתו לטופס:

                  לכן קיימות הרבה משתנים שלא בהכרח צפית להם. כגון event שמועבר כארגומנט, וכל המאפיינים של document ו-event.currentTarget. לכן המילה value מתורגם כהצבעה על ה-event.currentTarget.value ולא על הערך של ה-value הגלובלי

                  ולמה זה משויך לארגומנט, ללא שציינו זאת במפורש?
                  האמת שניסיתי לקרוא על with בMDN ולא הצלחתי להבין מה הוא עושה. כנראה לכן לא הבנתי גם את ההסבר 😞

                  Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                  טיפים

                  yossizY תגובה 1 תגובה אחרונה
                  0
                  • yossizY מחובר
                    yossizY מחובר
                    yossiz
                    השיב לצדיק תמים ב נערך לאחרונה על ידי yossiz
                    #9

                    @צדיק-תמים אמר בjs- תפיסת אלמנט והכנסתו לטופס:

                    ולמה זה משויך לארגומנט, ללא שציינו זאת במפורש?

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

                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                    תגובה 1 תגובה אחרונה
                    1
                    • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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