-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
선생님 질문있습니다~
22.06.14 13:03 작성 조회수 159
0
안녕하세요 선생님:) 4분 30초 주변 내용중에서 질문이 있습니다.
스택에
inner
outer
전역
이렇게 쌓이면 inner -> outer -> 전역 순으로 스택을 비운다고 이해하였습니다. (제일 마지막에 들어온게 제일 먼저 빠지고..)
제 생각에는 실행 순서가
inner에 있는 콘솔로그 실행 -> outer에 있는 콘솔로그 실행 -> 전역에 있는 콘솔로그 실행 순이어야 할 것 같은데 outer에 있는 콘솔로그가 제일먼저 출력되는것을 어떻게 이해하면 될까요?
스택이 비워지는 순서가 단순히 코드가 실행되는 순서가 아니기 때문인가요?
답변을 작성해보세요.
1
정재남
지식공유자2022.07.04
제가 6월 한달간 사정상 한국에 있지 않았어서 답이 많이 늦었습니다.
'선언'과 '호출'을 잘 구분하셔야 해요.
1. 전역에서 outer 선언 (2번줄)
2. 전역에서 outer를 호출 (14번줄) -> 이 때 outer 실행컨텍스트가 스택에 쌓이면서 내부 실행.
3. outer의 console.log (3번줄) 실행
4. inner 선언 (5번줄)
5. inner 호출 (10번줄) -> 이 때 inner 실행컨텍스트가 스택에 쌓이면서 내부 실행.
6. inner의 console.log(6번줄) 실행
...
답변 1