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