자바스크립트_Javascript

자바스크립트: setTimeout() 함수, 지정된 시간 후 실행

coding-abc.tistory.com 2025. 8. 21. 17:51
반응형

자바스크립트의 setTimeout() 은 특정 시간이 지난 후에 한 번만 함수를 실행하도록 예약하는 타이머 함수입니다.


📌 문법

setTimeout(실행할_함수, 지연시간(ms), [추가인자...]);
  • 실행할_함수: 일정 시간이 지난 뒤 실행할 함수
  • 지연시간(ms): 밀리초 단위 (1000ms = 1초)
  • 추가인자: 함수에 전달할 인자(옵션)

📌 기본 예제

console.log("1. 시작");

setTimeout(() => {
  console.log("2. 2초 후 실행됨");
}, 2000); // 2000ms = 2초

console.log("3. 끝");
 

실행 순서

  1. console.log("1. 시작") → 바로 출력
  2. setTimeout 예약 (2초 후 실행)
  3. console.log("3. 끝") → 바로 출력
  4. 약 2초 후 → console.log("2. 2초 후 실행됨") 실행

👉 출력

1. 시작
3. 끝
2. 2초 후 실행됨
 

📌 함수에 인자 전달하기

function greet(name) {
  console.log("안녕하세요, " + name + "!");
}

setTimeout(greet, 3000, "철수"); // 3초 후 "안녕하세요, 철수!" 실행
 

📌 실습 예제 (HTML 버튼과 함께)

아래는 버튼을 누르면 5초 후에 알림이 뜨는 예제입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>setTimeout 예제</title>
</head>
<body>
  <button onclick="startTimer()">5초 후 알림</button>

  <script>
    function startTimer() {
      alert("5초 후에 알림이 뜹니다!");
      setTimeout(() => {
        alert("⏰ 5초 지났습니다!");
      }, 5000);
    }
  </script>
</body>
</html>
 

📌 setTimeout 취소하기

setTimeout은 취소할 수도 있습니다.
setTimeout 실행 시 반환되는 ID를 clearTimeout() 에 넘기면 됩니다.

let timerId = setTimeout(() => {
  console.log("실행되지 않습니다.");
}, 3000);

clearTimeout(timerId); // 예약 취소

자바스크립트: settimeout 이벤트

👉 정리하면,

  • setTimeout은 특정 시간 후 한 번만 실행
  • setInterval은 특정 시간마다 반복 실행
반응형