setInterval 함수 및 실행 이해
setInterval 함수는 JavaScript에서 작업이 정기적으로 실행되도록 예약하는 데 유용한 도구입니다. 그러나 개발자는 콜백 함수가 지속적으로 실행되지 않고 한 번만 실행되는 것처럼 보이는 문제에 직면할 수 있습니다.
문제: 콜백이 예상대로 실행되지 않습니다
이에 대한 일반적인 이유 중 하나 동작은 setInterval 함수 호출을 잘못 사용하는 것입니다. 콜백은 함수 호출이 아니라 함수 참조여야 합니다.
설명: 함수 호출과 참조
제공된 예제의 경우:
window.setInterval(timer(), 1000)
타이머 함수 뒤에 괄호가 없어 참조가 아닌 함수 호출로 보입니다. 이로 인해 타이머 기능이 즉시 실행되고 이후에 정의되지 않은 실행 결과에 대한 간격이 설정됩니다.
해결책: 구문 수정
이를 수정하려면 콜백을 발행하고 지속적인 실행을 보장하려면 다음과 같이 함수 참조를 사용하십시오.
window.setInterval(timer, 1000);
또는 다음을 사용할 수 있습니다. 더 짧지만 더 큰 함수에 대한 가독성이 떨어질 수 있는 콜백으로서의 익명 함수:
window.setInterval( function() { console.log("timer!"); }, 1000)
이렇게 하면 타이머 함수가 지정된 1000밀리초 간격으로 실행되도록 예약됩니다.
위 내용은 내 setInterval 함수가 한 번만 실행되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!