Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 1.63 KB

File metadata and controls

42 lines (32 loc) · 1.63 KB

인사이드 자바스크립트 P. 141 ~ 146

29. 실행 컨텍스트

29.1 실행 컨텍스트 생성 과정

  1. 활성 객체 생성
  2. arguments 객체 생성
  3. 스코프 정보 생성
  4. 변수 생성
  5. this 바인딩
  6. 코드 실행
function execute(param1, param2){
    var a = 1, b = 2;
    function func(){
        return a + b;
    }
    return param1 + param2 + func();
}

execute(3,4);

1. 활성 객체 생성
실행 컨텍스트가 생성되면 자바스크립트 엔진은 해당 컨텍스트에서 실행에 필요한 여러가지 정보를 담을 객체를 생성한다.

2. arguments 객체 생성
위 예제에서 param1,2 가 들어왔을 경우

3. 스코프 정보 생성
현재 컨텍스트의 유효 범위를 나타내는 스코프 정보를 생성.
현재 컨텍스트에서 특정 변수에 접근해야 할 경우, 현재 컨텍스트 변수뿐 아니라 상위 실행 컨텍스트의 변수도 접근이 가능하다.(스코프 체인)

4. 변수 생성
현재 실행 컨텍스트 내부에서 사용되는 지역 변수의 생성이 이루어진다.
활성 객체 = 변수 객체

5. this 바인딩
마지막 단계에서는 this 키워드를 사용하는 값이 할당된다.

6. 코드 실행
위 과정을 거치면 하나의 실행 컨텍스트가 생성되고 변수 객체가 만들어진 후에 코드에 있는 여러가지 표현식 실행이 이루어진다. 이렇게 실행되면서 변수의 초기화 및 연산, 또 다른 함수 실행 등이 이루어진다. undefined가 할당된 변수 a,b에도 값이 할당 된다.