유령 피하기 게임을 만들면서 유령은 주기적으로 생성해주기위해 방법을 찾다가 setTimeout과 setInterval 기능을 알게 되었다.
일정 시간이 지난 후에 원하는 함수를 예약 실행(호출)할 수 있게 하는 것이다.
호출 스케줄링을 하는 방법 두 가지가 바로 setTimeout과 setInterval이다.
setTimeout : 일정 시간이 지난 후에 함수를 실행하는 함수
setInterval : 일정 시간 간격을 두고 함수를 실행하는 함수
setTimeout(func|code, [delay], [arg1], [arg2], ...)
func|code
실행하고자 하는 코드로, 함수 또는 문자열 형태입니다. 대개는 이 자리에 함수가 들어갑니다. 하위 호환성을 위해 문자열도 받을 수 있지만 보통 문자열을 바로 넣진 않는다.
delay
실행 전 대기 시간 단위는 ms이다.
arg1, arg2…
함수에 전달할 인수들로, IE9 이하에선 지원하지 않는다.
ex)
setTimeout(function ABC(){}, 1000)`
: 1초 뒤에 ABC함수가 실행 된다.
clearTimeout 으로 스케줄링을 취소해 줄 수 있다.
setInterval 메서드는 setTimeout과 동일한 문법을 사용한다.
setTimeout(func|code, [delay], [arg1], [arg2], ...)
ex)
setInterval(function ABC(){}, 1000)`
: 1초 마다 ABC함수가 실행 된다.
clearInterval() 메소드로 반복을 해제할 수 있다.