자바스크립트 실행순서


자바스크립트 웹브라우저에서 구동순서(중요)

0.자바스크립트는 싱글스레드

1.힙공간:스택에서 실행된 코드의 변수등이 저장되는곳

2.스택공간 소스코드가 실행된느곳 , 순서대로 실행됨, 하나의 스레드로 작동함 

3.스택에서 settimeout 이나 ajax 나 eventlistner등의 함수가 있으면 큐로 보낸다

4.스택의 처리가 전부 끝나고 비어진다

5.큐로 빼두었던 settimeout등의 함수를 스택으로 보내서 실행한다 (보내기 전 반드시 스택이 비어있어야 함),(이 과정을 이벤트루프라고 함)

6.그런데 stack에 for문 1만번등의 무거운 연산이 있으면 큐로 빼두었던 settimeout등이 실행되지 않는다 (스택이 비어있지 않기때문에)




자바스크립트의 큐(FIFO)

이벤트 루프가 일어나는 부분


자바스크립트 호출 스택(FILO)

읽어들인 순서대로 쌓이고 마지막에 읽은 코드부터 실행

function first() {
  second();
  console.log('첫 번째');
}
function second() {
  third();
  console.log('두 번째');
}
function third() {
  console.log('세 번째');
}
first();
third();

출력순서 (읽은 순서 반대로 출력)

//세번째

//두번째

//첫번째

//세번째


코딩애플님과 제로초님의 강의를 참조했습니다

참고 동영상 :https://youtu.be/eiC58R16hb8?si=0WDXIU6DhQsHTsQO&t=279

Dec 10, 2022 Views 151