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

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

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

הפורום כעת לקריאה בלבד, לקריאה נוספת.

עזרה בקוד js

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

    שלום וברכה,
    יצרתי קוד קטן שאמור לבצע חישוב ע"ג הדפדפן, עם ערכי ברירת מחדל 1 ו 2.
    בפועל הקוד לא עובד, והתוצאה היא 12 במקום 3.
    השאלה איפה הטעות
    תודה רבה
    מצורף הקוד:

    let a = prompt("First number?", 1);
    let b = prompt("Second number?", 2);
    
    alert(a + b);
    
    ElhananE תגובה 1 תגובה אחרונה
    0
    • מ מאיר הנאו

      שלום וברכה,
      יצרתי קוד קטן שאמור לבצע חישוב ע"ג הדפדפן, עם ערכי ברירת מחדל 1 ו 2.
      בפועל הקוד לא עובד, והתוצאה היא 12 במקום 3.
      השאלה איפה הטעות
      תודה רבה
      מצורף הקוד:

      let a = prompt("First number?", 1);
      let b = prompt("Second number?", 2);
      
      alert(a + b);
      
      ElhananE
      ElhananE
      Elhanan
      כתב ב נערך לאחרונה על ידי Elhanan
      #2

      @מאיר-הנאו הבעיה בקוד שקופה, ולכן הפתרון עבורה יהיה מאוד קל.
      הסיבה שהקוד לא עובד היא כיוון שההנחיה שכתבת מחזירה לדפדפן את הקלט שהמשתמש מזין כמחרוזת (סטרינג), וזה בגלל המילה prompt שגורמת לדפדפן לחשוב שמדובר במחרוזת, ולא במספר, ולכן הוא מפענח את הקוד ככה:

      let a = "1";
      let b = "2"; 
      alert(a + b);
      

      וכיוון שכן, כשיש לדפדפן שני מחרוזות שמכילות מספר הוא מחבר את שני המספרים יחד, ונותן תוצאה שגויה של 12.

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

      let a = +prompt("First number?", 1);
      let b = +prompt("Second number?", 2);
      
      alert(a + b);
      

      פורום איש את רעהו|חיתוך שירים|בלוג|מקצר קישורים|ביו

      צדיק תמיםצ תגובה 1 תגובה אחרונה
      16
      • ElhananE Elhanan

        @מאיר-הנאו הבעיה בקוד שקופה, ולכן הפתרון עבורה יהיה מאוד קל.
        הסיבה שהקוד לא עובד היא כיוון שההנחיה שכתבת מחזירה לדפדפן את הקלט שהמשתמש מזין כמחרוזת (סטרינג), וזה בגלל המילה prompt שגורמת לדפדפן לחשוב שמדובר במחרוזת, ולא במספר, ולכן הוא מפענח את הקוד ככה:

        let a = "1";
        let b = "2"; 
        alert(a + b);
        

        וכיוון שכן, כשיש לדפדפן שני מחרוזות שמכילות מספר הוא מחבר את שני המספרים יחד, ונותן תוצאה שגויה של 12.

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

        let a = +prompt("First number?", 1);
        let b = +prompt("Second number?", 2);
        
        alert(a + b);
        
        צדיק תמיםצ
        צדיק תמיםצ
        צדיק תמים
        כתב ב נערך לאחרונה על ידי צדיק תמים
        #3

        @יושב-אוהלים אמר בעזרה בקוד js:

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

        ליתר דיוק בגלל שprompt מחזיר תמיד סטרינג.
        אגב לא הכרתי את השימוש בUnary plus להמרת סטרינג למספר, תמיד השתמשתי בparseInt
        עריכה: נראה שיש יתרונות לכאן ולכאן - לדוגמה צורת הטיפול במספר עשרוני (יש בקישור הנ"ל טבלה מקיפה) :
        f735e6d2-ad4f-471d-82dd-c0bcd2cab767-image.png

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

        מ תגובה 1 תגובה אחרונה
        8
        • צדיק תמיםצ צדיק תמים

          @יושב-אוהלים אמר בעזרה בקוד js:

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

          ליתר דיוק בגלל שprompt מחזיר תמיד סטרינג.
          אגב לא הכרתי את השימוש בUnary plus להמרת סטרינג למספר, תמיד השתמשתי בparseInt
          עריכה: נראה שיש יתרונות לכאן ולכאן - לדוגמה צורת הטיפול במספר עשרוני (יש בקישור הנ"ל טבלה מקיפה) :
          f735e6d2-ad4f-471d-82dd-c0bcd2cab767-image.png

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

          @צדיק-תמים יש דרך לעגל תמיד את המספר לכיוון למעלה/למטה?
          לדוגמא, שאם אני יכתוב 3.4 זה יתעגל לשלש, ואם אני יכתוב 3.6 זה יתעגל ל4.
          יש דבר כזה? תודה רבה!

          צדיק תמיםצ תגובה 1 תגובה אחרונה
          1
          • מ מאיר הנאו

            @צדיק-תמים יש דרך לעגל תמיד את המספר לכיוון למעלה/למטה?
            לדוגמא, שאם אני יכתוב 3.4 זה יתעגל לשלש, ואם אני יכתוב 3.6 זה יתעגל ל4.
            יש דבר כזה? תודה רבה!

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

            @מאיר-הנאו ()Math.round
            חיפוש גוגל פשוט באנגלית היה מביא לך את התשובה בקלות רבה... (אפשר להיעזר בגוגל טרנסלייט)

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

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

            שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

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

            בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

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


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

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