실행 컨텍스트 생성과정
Q. "실행 컨텍스트" 가 생겨나는 경우는?
Q. "실행 컨텍스트" 가 생겨나는 경우는?
1. 전역 코드
2. 함수()를 실행하는 경우
+@. eval() 함수로 실행되는 코드
전역코드
전역코드
함수실행
함수실행
전역 실행 컨텍스트
실행 컨텍스트 생성
전역 실행 컨텍스트
변수 객체
변수 객체 생성
전역 실행 컨텍스트
변수 객체
[[scope]]
[ List ]
변수 객체 생성 - 스코프 정보 생성
전역 실행 컨텍스트
변수 객체
[[scope]]
[ List ]
변수 객체 생성 - 스코프 정보 생성
Scope List
0
전역 객체
전역 실행 컨텍스트
변수 객체
[[scope]]
sangziHeight : undefined
sangziAge : undefined
realizeSz
function(){
...
...
}
[ List ]
변수 객체 생성 - 변수 생성
Scope List
0
전역 객체
전역 실행 컨텍스트
변수 객체
[[scope]]
sangziHeight : undefined
sangziAge : undefined
realizeSz
function(){
...
...
}
this
Object (=window객체)
[ List ]
변수 객체 생성 - this 바인딩
Scope List
0
전역 객체
전역 실행 컨텍스트
변수 객체
[[scope]]
sangziHeight : '180cm'
sangziAge : '27살'
realizeSz
function(){
...
...
}
this
Object (=window객체)
[ List ]
변수 객체 생성 - 값 할당
Scope List
0
전역 객체
realize함수
컨텍스트
실행 컨텍스트 생성
realize함수
컨텍스트
변수 객체
변수 객체 생성
realize함수
컨텍스트
변수 객체
argument
[ param1, param2 ]
변수 객체 생성 - arguments 객체 생성
realize함수
컨텍스트
변수 객체
argument
[ param1, param2 ]
변수 객체 생성 - arguments 객체 생성
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
변수 객체 생성 - 스코프 정보 생성
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
변수 객체 생성 - 스코프 정보 생성
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
변수 객체 생성 - 스코프 정보 생성
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
변수 객체 생성 - 스코프 정보 생성
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
sangziHeight : undefined
sangziAge : undefined
function(){
...
...
}
변수 객체 생성 - 변수 생성
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
sangziHeight : undefined
sangziAge : undefined
function(){
...
...
}
this
Object (=window객체)
변수 객체 생성 - this 바인딩
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
sangziHeight : '173cm'
sangziAge : '29살'
function(){
...
...
}
this
Object (=window객체)
변수 객체 생성 - 값 할당
print 함수 컨텍스트 생성
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
"스코프 체인"
Execution Context
By Sang Jin Lee
Execution Context
- 982