• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

clearInterval, setInterval 질문

23.12.07 22:14 작성 조회수 207

1

 

 var i = 0;
      var fnc = setInterval(function () {
        if (i == 3) {
          clearInterval(fnc);
        }
        console.log("3초마다 프로그램 실행 - " + i);
        i++;
      }, 3000);

i가 3일 때 setInterval를 중단하기 위해 해당 코드를 작성했습니다.

i가 3일 경우에는 clearInterval에 의해 setInterval이 중단됐기 때문에

아래 console.log("3초마다 프로그램 실행 - " + i)도 실행되지 않아

콘솔창을 실행했을 때 "3초마다 프로그램 실행 - 2"까지만 나오고 멈출거라고 생각했는데,

"3초마다 프로그램 실행 - 3"이 나와 왜 그런지 질문 드립니다.

답변 1

답변을 작성해보세요.

1

이미 setInterval 함수가 실행되었기 때문에 당연히 콘솔에 찍히는게 맞습니다.

콘솔에 3을 찍지 않으려면, if문에서 clearInterval 한 후 바로 return; 코드를 추가하면 됩니다

강두희님의 프로필

강두희

질문자

2023.12.08

답변 주셔서 감사합니다!