JavaScript - 문제 미리보기

문제 720

medium
다음 코드에서 빈칸에 들어갈 올바른 함수는? ```javascript function myMove() { let id = null; const elem = document.getElementById("animate"); let pos = 0; ______(id); id = setInterval(frame, 5); function frame() { if (pos == 350) { ______(id); } else { pos++; elem.style.top = pos + 'px'; elem.style.left = pos + 'px'; } } } ```
A. `setTimeout`, `clearTimeout`
B. `setInterval`, `clearInterval`
C. `clearInterval`, `clearInterval`
D. `clearTimeout`, `clearTimeout`

정답: C

두 빈칸 모두 **`clearInterval`**이 들어가야 합니다. 1) 첫 번째 빈칸: `clearInterval(id)`로 이전에 실행 중이던 타이머를 정리합니다 (중복 실행 방지) 2) 두 번째 빈칸: 애니메이션이 완료되었을 때(`pos == 350`) `clearInterval(id)`로 타이머를 중지합니다 `setInterval`은 일정한 간격으로 함수를 반복 실행하는 타이머를 설정하고, `clearInterval`은 그 타이머를 중지시킵니다. 이 코드는 5밀리초마다 `frame` 함수를 실행하여 요소를 한 픽셀씩 이동시키는 애니메이션을 만듭니다.

💡 학습 팁

이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.