실행 컨텍스트 생성과정
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5144034/by_SANGZII.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142274/스크린샷_2018-07-29_오후_9.24.42.png)
Q. "실행 컨텍스트" 가 생겨나는 경우는?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142274/스크린샷_2018-07-29_오후_9.24.42.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142274/스크린샷_2018-07-29_오후_9.24.42.png)
Q. "실행 컨텍스트" 가 생겨나는 경우는?
1. 전역 코드
2. eval() 함수로 실행되는 코드
3. 함수()를 실행하는 경우
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142274/스크린샷_2018-07-29_오후_9.24.42.png)
전역코드
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142274/스크린샷_2018-07-29_오후_9.24.42.png)
전역코드
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142274/스크린샷_2018-07-29_오후_9.24.42.png)
함수실행
함수실행
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
전역 실행 컨텍스트
실행 컨텍스트 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
전역 실행 컨텍스트
변수 객체
변수 객체 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
전역 실행 컨텍스트
변수 객체
[[scope]]
[ List ]
변수 객체 생성 - 스코프 정보 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
전역 실행 컨텍스트
변수 객체
[[scope]]
[ List ]
변수 객체 생성 - 스코프 정보 생성
Scope List
0
전역 객체
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
전역 실행 컨텍스트
변수 객체
[[scope]]
sangziHeight : undefined
sangziAge : undefined
realizeSz
function(){
...
...
}
[ List ]
변수 객체 생성 - 변수 생성
Scope List
0
전역 객체
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
전역 실행 컨텍스트
변수 객체
[[scope]]
sangziHeight : undefined
sangziAge : undefined
realizeSz
function(){
...
...
}
this
Object (=window객체)
[ List ]
변수 객체 생성 - this 바인딩
Scope List
0
전역 객체
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
전역 실행 컨텍스트
변수 객체
[[scope]]
sangziHeight : '180cm'
sangziAge : '27살'
realizeSz
function(){
...
...
}
this
Object (=window객체)
[ List ]
변수 객체 생성 - 값 할당
Scope List
0
전역 객체
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
실행 컨텍스트 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
변수 객체 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
argument
[ param1, param2 ]
변수 객체 생성 - arguments 객체 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
argument
[ param1, param2 ]
변수 객체 생성 - arguments 객체 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
변수 객체 생성 - 스코프 정보 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
변수 객체 생성 - 스코프 정보 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
변수 객체 생성 - 스코프 정보 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
변수 객체 생성 - 스코프 정보 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
sangziHeight : undefined
sangziAge : undefined
function(){
...
...
}
변수 객체 생성 - 변수 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
sangziHeight : undefined
sangziAge : undefined
function(){
...
...
}
this
Object (=window객체)
변수 객체 생성 - this 바인딩
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
realize함수
컨텍스트
변수 객체
argument
[[scope]]
[ param1, param2 ]
[ List ]
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
sangziHeight : '173cm'
sangziAge : '29살'
function(){
...
...
}
this
Object (=window객체)
변수 객체 생성 - 값 할당
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
print 함수 컨텍스트 생성
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
![](https://s3.amazonaws.com/media-p.slid.es/uploads/744510/images/5142185/sampleCode.png)
print함수
컨텍스트
변수 객체
argument
[[scope]]
secretInfo : [ ~~ ]
this
Object (=window객체)
[ param1, param2 ]
[ List ]
print 함수 컨텍스트 생성
Scope List
0
전역 객체
1
realizeSz함수 변수 객체
2
print함수 변수 객체
"스코프 체인"
deck
By Sang Jin Lee
deck
- 929