Event Loop의 동작에 따른 코드 실행 결과와 Closure 함수와의 관계에 따른 실행 결과를 간단한 예제를 통해 JavaScript 동작에 대한 보다 정확한 이해를 할 수 있다.

setTimeout은 Web API 에서 제공하는 함수로, JavaScript Engine이 코드를 읽으면서 Call Stack에서 수행할 때 바로 수행되는 것이 아니라 Web API는 대기실로 이동 하였다가 Task Queue로 setTimeout의 Callback 함수가 이동하는데, Call Stack 에 수행되는 작업이 없을 때 Task Queue에 존재하는 Callback 함수를 Call Stack 으로 가져와 해당 코드의 내용을 전부 수행한다.