>웹 프론트엔드 >JS 튜토리얼 >내 setInterval 함수가 한 번만 실행되는 이유는 무엇입니까?

내 setInterval 함수가 한 번만 실행되는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-28 22:34:11763검색

Why Is My setInterval Function Only Running Once?

setInterval 함수 및 실행 이해

setInterval 함수는 JavaScript에서 작업이 정기적으로 실행되도록 예약하는 데 유용한 도구입니다. 그러나 개발자는 콜백 함수가 지속적으로 실행되지 않고 한 번만 실행되는 것처럼 보이는 문제에 직면할 수 있습니다.

문제: 콜백이 예상대로 실행되지 않습니다

이에 대한 일반적인 이유 중 하나 동작은 setInterval 함수 호출을 잘못 사용하는 것입니다. 콜백은 함수 호출이 아니라 함수 참조여야 합니다.

설명: 함수 호출과 참조

제공된 예제의 경우:

window.setInterval(timer(), 1000)

타이머 함수 뒤에 괄호가 없어 참조가 아닌 함수 호출로 보입니다. 이로 인해 타이머 기능이 즉시 실행되고 이후에 정의되지 않은 실행 결과에 대한 간격이 설정됩니다.

해결책: 구문 수정

이를 수정하려면 콜백을 발행하고 지속적인 실행을 보장하려면 다음과 같이 함수 참조를 사용하십시오.

window.setInterval(timer, 1000);

또는 다음을 사용할 수 있습니다. 더 짧지만 더 큰 함수에 대한 가독성이 떨어질 수 있는 콜백으로서의 익명 함수:

window.setInterval( function() {
  console.log("timer!");
}, 1000)

이렇게 하면 타이머 함수가 지정된 1000밀리초 간격으로 실행되도록 예약됩니다.

위 내용은 내 setInterval 함수가 한 번만 실행되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.