실행 컨텍스트 생성과정
Q. "실행 컨텍스트" 가 생겨나는 경우는?
Q. "실행 컨텍스트" 가 생겨나는 경우는?
1. 전역 코드
2. eval() 함수로 실행되는 코드
3. 함수()를 실행하는 경우
전역코드
전역코드
함수실행
함수실행
전역 실행 컨텍스트
실행 컨텍스트 생성
전역 실행 컨텍스트
변수 객체
변수 객체 생성
전역 실행 컨텍스트
변수 객체
[[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함수 변수 객체
"스코프 체인"
deck
By Sang Jin Lee
deck
- 893