less than 1 minute read

  • setInterval(func, delay, …args), setTimeout(func, delay, …args) 은 delay 밀로추 후 func 를 규칙적으로, 또는 한번(스케쥴링) 실행하게 해줌

  • setInterval 은 인수로 할당 받은 함수 호출 시 this에 window 할당

  • setInterval/setTimeout 에 함수 넘길 때 참조 값을 받도록 정의되어 있어 반환문 만 넘겨줘야 함

  • setInterval/setTimeout 은 타이머 식별자 반환 됨.

  • setInterval/setTimeout 호출하고 반환 값 clearInterval/clearTimerout 에 넘겨주면 스케쥴링 취소

  • alert 창 떠있어도 setInterval/setTimeout 의 타이머는 멈추지 않음

  • setInterval 은 함수를 실행하는 데 걸리는 시간도 지연 간격에 포함

  • 중첩 setTimeout 사용 시 이전 함수의 실행이 종료된 이후에 다음 함수 호출에 대한 계획이 세워지기 때문에 지연 간격 보장해줌. setInterval 사용한 것 보다 유연하게 코드 작성 가능(내부에 코드 처리)

  • setInterval/setTimeout 에 인자 넘길 시 함수에 대한 내부 참조가 새롭게 만들어 지므로 가비지 컬렉션 대상 안 되므로 스케쥴링 할 필요 없어진 함수는 아무리 작더라도 취소해야 메모리 누수 없어짐

  • 대기 시간 0인 setTimeout(func, 0) 혹은 setTimeout(func) 사용 시 ‘현재 스크립트 실행 완료 후’ 가능한 한 빠르게 원하는 함수 호출

  • 지연 없이 중첩 setTimeout/setInterval 에서 호출 5회 이상 이뤄질 시 4밀리 초 이상의 지연 간격 강제로 더해짐. 브라우저(Node.js 는 보장)만 적용되며 하위 호환성 위해 유지

  • 스케쥴링 메서드 에서 명시한 지연 간격 보장되지 않을 수 있다는 점에 유의

Categories: ,

Updated: