JS(javascript)

setInterval

westone034626 2020. 11. 24. 18:46

*혼자 내용 정리를 위해 작성하는 글이라 정확하지 않은 정보가 포함되어 있을 수 있습니다.

 

1. 어떤 용도?

입력된 함수를 특정 시간을 주기로 반복하기 위해 사용된다.

WindowOrWorkerGlobalScope mixin를 통해 사용된다.

 

해당 mixin은 Window, Worker interface를 통해 구현되었다.

참고로 mixin은 간단히 말해 여러 클래스, 인터페이스를 통해 구현될 수 있으며 구현된 mixin은 자신을 구현한 클래스, 인터페이스로부터 속성과 메소드를 가져와 사용할 수 있다.

+ 오리지널 자신의 속성, 메소드도 존재할 수 있다.

 

 

2. parameter

setInterval(func, 1000);

이런식으로 사용한다.

func은 반복시킬 함수명이다. 여기서 주의할 것은 뒤에 '()'를 붙이지 않는 것이다.

그리고 setInterval은 millisecond 단위로 사용되므로  1000은 1초로 환산된다. 즉 func 함수가 1초에 한 번씩 호출되는 것이다.

 

 

setInterval(func, 1000, parameter1, parameter2);

만약 parameter를 필요로 하는 함수일 경우는 다음과 같이 작성하면 된다.

그러면 func에게 parameter1, parameter2가 전달될 것이다.

 

 

3. return value

intervel1 = setInterval(func, 1000);

setInterval은 interval ID라는 식별자를 반환값으로 갖는다.

interval를 식별할 수 있는 값이라고 생각하면 된다.

 

 

4. 멈추는 법

intervel1 = setInterval(func, 1000);

clearInterval(interver1);

setInterval을 통해 반환되는 interval ID는 interval마다 고유하다.

그래서 특정 interval을 멈추려면 해당하는 ID값을 clearInterval의 인자로 입력한 후 호출하면 된다.

 

 

참고자료:

stonzeteam.github.io/%EC%BD%94%EB%93%9C-%EC%9E%AC%EC%82%AC%EC%9A%A9%EC%9D%84-%EC%9C%84%ED%95%9C-Mixin/

 

코드 재사용을 위한 Mixin

코드 재사용 패턴들에 대해 알아봅시다.

stonzeteam.github.io

developer.mozilla.org/en-US/docs/Glossary/Mixin

 

Mixin

A mixin is a class or interface in which some or all of its methods and/or properties are unimplemented, requiring that another class or interface provide the missing implementations.

developer.mozilla.org

developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval

 

WindowOrWorkerGlobalScope.setInterval()

The setInterval() method, offered on the Window and Worker interfaces, repeatedly calls a function or executes a code snippet, with a fixed time delay between each call.

developer.mozilla.org