# setInterval, setTimeout 사용법

# setInterval

setInterval() 함수는 주기적으로 인자를 실행하는 함수입니다.

  • 보통 아래와 같이 사용합니다.
//Hello!라는 문자열을 콘솔에 3초에 1번씩 실행합니다.
function test() {
  console.log("Hello!");
}
setInterval(test, 3000);
  • 위 test 함수에 인자가 있다면?
function test(string) {
  console.log(string);
}
setInterval(function() {
  test("Hello!");
}, 3000);
  • 위 방법을 응용하여 여러 함수를 인자로 넣어서 실행해 봅시다!
function test1(string) {
  console.log("test1 : " + string);
}

function test2(string) {
  console.log("test2 : " + string);
}

setInterval(function() {
  test1("Hello!");
  test2("World!");
}, 3000);
//위와 같이 setInterval 함수 안에 함수를 인자로 넣고 실행하면 두개의 함수가 3초에 한번씩 실행됩니다.
test1 : Hello! test2 : World! test1 : Hello! test2 : World!

# clearInterval

clearInterval() 함수는 현재 진행되고 있는 함수의 진행을 멈추는데 쓰입니다.

var interval = setInterval(function() {
  console.log("Interval");
}, 1000);

//인자로 함수 이름 넣어줍니다.
clearInterval(interval);
var interval = setInterval(function() {
  count++;
  if (count === 10) {
    clearInterval(interval);
  }
}, 3000);

# setTimeout

setTimeout() 함수는 일정시간이 지난 후 인자로 받은 함수를 한번 실행해주는 메소드입니다.
함수 실행 후 return 값으로 상수를 리턴합니다(1). 함수 실행 때 마다 1씩 추가되어 리턴합니다.
응용 : setTimeout의 리턴 값이 상수, 상수는 true 값을 이용하여 setTimeout의 조건을 넣을 수 있다.

//5초 후에 oneTime이라는 string를 콘솔에 1번 찍고 종료합니다.
setTimeout(function() {
  console.log("oneTime");
}, 5000);

self.scrollState = false;
if (!self.scrollState) {
  self.mainElem.classList.add("running");
}
self.scrollState = setTimeout(function() {
  self.mainElem.classList.remove("running");
}, 500);
//setTimeout이 실행되면 상수를 리턴 함으로 true로 바뀐다.
Last Updated: 3/24/2021, 8:55:12 PM