JavaScript는 타이밍 이벤트를 처리하는 여러 가지 방법을 제공하며 가장 일반적으로 사용되는 두 가지 방법은 setTimeout과 setInterval입니다. 이러한 함수를 사용하면 지정된 시간 이후 또는 정기적인 간격으로 반복적으로 코드 실행을 예약할 수 있습니다. 이 기사에서는 이러한 기능의 작동 방식을 살펴보고 사용법을 설명하는 실제 예를 제공합니다.
setTimeout 함수는 지정된 지연 후에 함수나 코드 조각을 한 번 실행하는 데 사용됩니다. setTimeout의 구문은 다음과 같습니다.
setTimeout(function, delay, [arg1, arg2, ...]);
function sayHello() { console.log('Hello, World!'); } setTimeout(sayHello, 2000); // Outputs "Hello, World!" after 2 seconds
이 예에서는 2초 지연 후 sayHello 함수가 한 번 실행됩니다.
function greet(name) { console.log('Hello, ' + name + '!'); } setTimeout(greet, 2000, 'Alice'); // Outputs "Hello, Alice!" after 2 seconds
여기서 'Alice' 인수를 2초 지연 후 실행되는 Greeting 함수에 전달합니다.
setTimeout(function() { console.log('This is an anonymous function!'); }, 3000); // Outputs "This is an anonymous function!" after 3 seconds
setTimeout 내에서 직접 익명 함수를 사용할 수도 있습니다.
setInterval 함수는 지정된 간격으로 함수나 코드를 반복적으로 실행하는 데 사용됩니다. setInterval의 구문은 setTimeout:
과 유사합니다.
setInterval(function, interval, [arg1, arg2, ...]);
function sayHello() { console.log('Hello, World!'); } setInterval(sayHello, 1000); // Outputs "Hello, World!" every 1 second
이 예에서는 sayHello 함수가 1초마다 실행됩니다.
function greet(name) { console.log('Hello, ' + name + '!'); } setInterval(greet, 1000, 'Alice'); // Outputs "Hello, Alice!" every 1 second
여기서는 1초마다 실행되는 Greeting 함수에 'Alice' 인수를 전달합니다.
setInterval(function() { console.log('This is an anonymous function!'); }, 2000); // Outputs "This is an anonymous function!" every 2 seconds
setInterval 내에서 직접 익명 함수를 사용할 수도 있습니다.
setTimeout과 setInterval은 모두 필요한 경우 타이머를 지우는 데 사용할 수 있는 타이머 ID를 반환합니다. 이는 각각clearTimeout 및clearInterval 함수를 사용하여 수행됩니다.
const timeoutId = setTimeout(function() { console.log('This will not run.'); }, 5000); clearTimeout(timeoutId); // Cancels the timeout
const intervalId = setInterval(function() { console.log('This will run only once.'); }, 1000); setTimeout(function() { clearInterval(intervalId); // Stops the interval after 3 seconds }, 3000);
이 예에서는 3초 후에clearInterval 함수가 호출되어 함수의 반복 실행을 중지합니다.
디바운싱은 함수가 실행되는 속도를 제한하는 기술입니다. 예를 들어, setTimeout을 사용하여 검색 입력 필드를 디바운스할 수 있습니다.
let timeoutId; function debounceSearch(query) { clearTimeout(timeoutId); timeoutId = setTimeout(function() { // Perform search operation console.log('Searching for:', query); }, 300); } document.getElementById('searchInput').addEventListener('input', function(event) { debounceSearch(event.target.value); });
let seconds = 0; function updateTimer() { seconds++; console.log('Timer:', seconds); } const timerId = setInterval(updateTimer, 1000); // Stop the timer after 10 seconds setTimeout(function() { clearInterval(timerId); console.log('Timer stopped'); }, 10000);
JavaScript에서 시간이 지정되고 반복되는 작업을 관리하려면 setTimeout 및 setInterval을 이해하는 것이 필수적입니다. 이러한 기능을 사용하면 사용자 입력 디바운싱, 타이머 생성, 주기적인 업데이트 실행과 같은 작업을 처리할 수 있습니다. 이러한 도구를 익히면 응답성이 뛰어나고 효율적인 웹 애플리케이션을 구축할 수 있습니다.
위 내용은 JavaScript의 'setTimeout' 및 'setInterval' 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!