Hi

실행 컨텍스트 개념 본문

WEB(웹)/javascript

실행 컨텍스트 개념

SharingWorld 2018. 7. 3. 08:17

실행 컨텍스트 개념

콜 스택(Call Stack)

: 함수를 호출할 때 해당 함수의 호출 정보(ex C언어 - 함수의 호출정보 등으로 함수 내 지역변수 혹은 인자값 등)가 차곡차곡 쌓여있는 스택

실행 컨텍스트는 콜 스택에 들어가는 실행 정보 하나와 비슷하다.


"실행 가능한 자바스크립트 코드 블록이 실행되는 환경" 
실행 컨텍스트가 형성되는 경우 - 전역 코드, eval() 함수로 실행되는 코드, 
대부분 프로그래머는 함수로 실행 컨텍스트를 만든다 

현재 실행되는 컨텍스트에서 이 컨텍스트와 관련 없는 실행 코드가 실행되면, 
새로운 컨텍스트가 생성되어 스택에 들어가고 제어권이 그 컨텍스트로 이동한다.


ex)

console.log("This is global context");

function ExContext1() {
	console.log("This is ExContext1");
};

function ExContext2() {
	ExContext1();
	console.log("This is ExContext2");
};

ExContext2();
[출력결과]
This is global context
This is ExContext1
This is ExContext2

새로운 함수 호출이 발생하면 새로운 컨텍스트가 만들어지고 실행되며, 종료되면 반환된다

'WEB(웹) > javascript' 카테고리의 다른 글

스코프 체인  (0) 2018.07.03
실행 컨텍스트 생성 과정  (0) 2018.07.03
프로토타입 체이닝  (0) 2018.07.03
이벤트 발생 객체와 이벤트 객체  (0) 2018.07.01
이벤트 개념 잡기  (0) 2018.07.01