티스토리 뷰

JavaScript/오류해결하기

JavaScript 오류 해결하기-2

justgodoit 2024. 8. 13. 11:53

목차

    문제

    1부터 10사이의 정수 랜덤값 반환
    자바 (int)(Math.random() * 10 + 1)
    -------------------------------------------------
    1부터 랜덤수까지 매번 1씩 증가되는 값 출력

     

     

    함수 작성 시 오류발생하여 오류 원인과 수정 후 해결에 대해 작성하겠습니다.

      <h3>return</h3>
    
      <script>
        // 1부터 10사이의 정수 랜덤값 반환
        // 자바 (int)(Math.random() * 10 + 1)
        const fnReturnRanNum = function () {
          return parseInt(Math.random() * 10 + 1);
        }
    
        // 1부터 랜덤수까지 매번 1씩 증가되는 값 출력
        const fnOneToRanNum = function () {
          let random = fnOneToRanNum();
          for (let i=1; i<= random; i++) {
            console.log(i)
          }
        }
      </script>
    
    <button onclick="fnOneToRanNum();">버튼</button>

    🚨 오류

    ▶Uncaught 

    RangeError: Maximum call stack size exceeded
        at fnOneToRanNum (07_function.html:154:20)
        at fnOneToRanNum (07_function.html:154:20)
        at fnOneToRanNum (07_function.html:154:20)
        at fnOneToRanNum (07_function.html:154:20)
        at fnOneToRanNum (07_function.html:154:20)
        at fnOneToRanNum (07_function.html:154:20)
        at fnOneToRanNum (07_function.html:154:20)
        at fnOneToRanNum (07_function.html:154:20)
        at fnOneToRanNum (07_function.html:154:20)
        at fnOneToRanNum (07_function.html:154:20)

     

    👀 구글번역

    ▶잡히지 않음 
    RangeError: 최대 호출 스택 크기를 초과했습니다.
        fnOneToRanNum에서(07_function.html:154:20)
        fnOneToRanNum에서(07_function.html:154:20)
        fnOneToRanNum에서(07_function.html:154:20)
        fnOneToRanNum에서(07_function.html:154:20)
        fnOneToRanNum에서(07_function.html:154:20)
        fnOneToRanNum에서(07_function.html:154:20)
        fnOneToRanNum에서(07_function.html:154:20)
        fnOneToRanNum에서(07_function.html:154:20)
        fnOneToRanNum에서(07_function.html:154:20)
        fnOneToRanNum에서(07_function.html:154:20)

     

    ❓ 원인

    변수명을 잘못 입력하였습니다.

        const fnOneToRanNum = function () {
          let random = fnOneToRanNum();
          for (let i=1; i<= random; i++) {
            console.log(i)
          }
        }

     

    ✅ 해결

        const fnOneToRanNum = function () {
          let random = fnReturnRanNum();
          for (let i=1; i<= random; i++) {
            console.log(i)
          }
        }

     

    'JavaScript > 오류해결하기' 카테고리의 다른 글

    JavaScript 오류 해결하기-4  (0) 2024.08.14
    JavaScript 오류 해결하기-3  (0) 2024.08.13
    JavaScript 오류 해결하기  (0) 2024.08.13