Q 함수가 실행되는 전체과정..?
코드에서 변수선언 .함수선언시
참조값 원시값 두개가 생성됨
참조값은 ? 힙에 (메모리 저장공간)
원시값은 ? 콜스택에 (주소 값과 배열, 함수 값을 제외하고는 모두 원시 값)
각각 저장됨
함수의 호출은 콜 스택에 주소 값은 저장되나 값이 없다.
힙이란 ? Memory Heap : 메모리 할당이 일어나는 곳
(ex, 우리가 프로그램에 선언한 변수, 함수 등이 담겨져 있음)
주소 값과 배열, 함수의 값은 참조 값이므로 콜스택과 힙에 저장된다.
콜스택에 있는 함수는 web API를 호출하는데
web API : AJAX, TIMEOUT, DOM 이 있음(브라우저 내장된 API)
Web API는 콜백함수를 Callback Queue에 밀어 넣는다. 큐는 FIFO 형태로 나가야함
콜스택이 비워지면 이벤트루프가 이를 감지해서 콜백큐에서 함수를 콜스택에 넣어줌
차례로 나감
settimeout 이 마지막 호출됨.