>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 'setTimeout' 및 'setInterval' 이해

JavaScript의 'setTimeout' 및 'setInterval' 이해

WBOY
WBOY원래의
2024-07-17 19:23:101030검색

Understanding `setTimeout` and `setInterval` in JavaScript

JavaScript는 타이밍 이벤트를 처리하는 여러 가지 방법을 제공하며 가장 일반적으로 사용되는 두 가지 방법은 setTimeout과 setInterval입니다. 이러한 함수를 사용하면 지정된 시간 이후 또는 정기적인 간격으로 반복적으로 코드 실행을 예약할 수 있습니다. 이 기사에서는 이러한 기능의 작동 방식을 살펴보고 사용법을 설명하는 실제 예를 제공합니다.

setTimeout

setTimeout 함수는 지정된 지연 후에 함수나 코드 조각을 한 번 실행하는 데 사용됩니다. setTimeout의 구문은 다음과 같습니다.

setTimeout(function, delay, [arg1, arg2, ...]);
  • function: 실행할 함수 또는 코드입니다.
  • 지연: 함수를 실행하기 전에 기다리는 시간(밀리초).
  • [arg1, arg2, ...]: 함수가 실행될 때 함수에 전달할 선택적 인수입니다.

예 1: 기본 사용법

function sayHello() {
  console.log('Hello, World!');
}

setTimeout(sayHello, 2000); // Outputs "Hello, World!" after 2 seconds

이 예에서는 2초 지연 후 sayHello 함수가 한 번 실행됩니다.

예 2: 인수 전달

function greet(name) {
  console.log('Hello, ' + name + '!');
}

setTimeout(greet, 2000, 'Alice'); // Outputs "Hello, Alice!" after 2 seconds

여기서 'Alice' 인수를 2초 지연 후 실행되는 Greeting 함수에 전달합니다.

예 3: 익명 함수 사용

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: 실행할 함수 또는 코드입니다.
  • 간격: 각 실행 사이의 시간(밀리초)입니다.
  • [arg1, arg2, ...]: 함수가 실행될 때마다 함수에 전달할 선택적 인수입니다.

예 1: 기본 사용법

function sayHello() {
  console.log('Hello, World!');
}

setInterval(sayHello, 1000); // Outputs "Hello, World!" every 1 second

이 예에서는 sayHello 함수가 1초마다 실행됩니다.

예 2: 인수 전달

function greet(name) {
  console.log('Hello, ' + name + '!');
}

setInterval(greet, 1000, 'Alice'); // Outputs "Hello, Alice!" every 1 second

여기서는 1초마다 실행되는 Greeting 함수에 'Alice' 인수를 전달합니다.

예 3: 익명 함수 사용

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 함수를 사용하여 수행됩니다.

예: setTimeout 지우기

const timeoutId = setTimeout(function() {
  console.log('This will not run.');
}, 5000);

clearTimeout(timeoutId); // Cancels the timeout

예: setInterval 지우기

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 함수가 호출되어 함수의 반복 실행을 중지합니다.

실제 사용 사례

1. setTimeout을 사용한 디바운싱

디바운싱은 함수가 실행되는 속도를 제한하는 기술입니다. 예를 들어, 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);
});

2. setInterval을 사용하여 간단한 타이머 만들기

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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