SlideShare a Scribd company logo
window
DOM Object
XMLHttpRequest
Web Storage
Web Worker
...
실행 컨텍스트 스택
Global Execution Context
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment Global Lexical Environment
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
Object Environment Record
BindingObject
window
x undefined
foo <function object>
... ...
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
Object Environment Record
BindingObject
window
x undefined
foo <function object>
... ...
Declarative Environment Record
y <uninitialized>
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
Object Environment Record
BindingObject
window
x undefined
foo <function object>
... ...
Declarative Environment Record
y <uninitialized>
[[GlobalThisValue]]
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
OuterLexicalEnvironmentReference null
Object Environment Record
BindingObject
window
x undefined
foo <function object>
... ...
Declarative Environment Record
y <uninitialized>
[[GlobalThisValue]]
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
OuterLexicalEnvironmentReference null
Object Environment Record
BindingObject
window
x 1
foo <function object>
... ...
Declarative Environment Record
y 2
[[GlobalThisValue]]
foo Execution Context
LexicalEnvironment foo Lexical Environment
foo Execution Context
LexicalEnvironment
foo Lexical Environment
FunctionEnvironmentRecord
Function Environment Record
a undefined
arguments { 0: 20, length: 1, callee: foo}
x undefined
y <uninitialized>
bar <function object>
매개변수
arguments 객체
함수 몸체에서
선언된 식별자
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
OuterLexicalEnvironmentReference null
Object Environment Record
BindingObject
window
x 1
foo <function object>
... ...
Declarative Environment Record
y 2
[[GlobalThisValue]]
foo Execution Context
LexicalEnvironment
foo Lexical Environment
FunctionEnvironmentRecord
Function Environment Record
a undefined
arguments { 0: 20, length: 1, callee: foo}
x undefined
y <uninitialized>
bar <function object>
[[ThisValue]]
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
OuterLexicalEnvironmentReference null
Object Environment Record
BindingObject
window
x 1
foo <function object>
... ...
Declarative Environment Record
y 2
[[GlobalThisValue]]
foo Execution Context
LexicalEnvironment
foo Lexical Environment
FunctionEnvironmentRecord
OuterLexicalEnvironmentReference
Function Environment Record
a undefined
arguments { 0: 20, length: 1, callee: foo}
x undefined
y <uninitialized>
bar <function object>
[[ThisValue]]
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
OuterLexicalEnvironmentReference null
Object Environment Record
BindingObject
window
x 1
foo <function object>
... ...
Declarative Environment Record
y 2
[[GlobalThisValue]]
foo Execution Context
LexicalEnvironment
foo Lexical Environment
FunctionEnvironmentRecord
OuterLexicalEnvironmentReference
Function Environment Record
a 20
arguments { 0: 20, length: 1, callee: foo}
x 3
y 4
bar <function object>
[[ThisValue]]
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
OuterLexicalEnvironmentReference null
Object Environment Record
BindingObject
window
x 1
foo <function object>
... ...
Declarative Environment Record
y 2
[[GlobalThisValue]]
foo Execution Context
LexicalEnvironment
foo Lexical Environment
FunctionEnvironmentRecord
OuterLexicalEnvironmentReference
Function Environment Record
a 20
arguments { 0: 20, length: 1, callee: foo}
x 3
y 4
bar <function object>
[[ThisValue]]
bar Execution Context
LexicalEnvironment
bar Lexical Environment
FunctionEnvironmentRecord
OuterLexicalEnvironmentReference
Function Environment Record
b undefined
arguments { 0: 10, length: 1, callee: bar}
z <uninitialized>
[[ThisValue]]
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
OuterLexicalEnvironmentReference null
Object Environment Record
BindingObject
window
x 1
foo <function object>
... ...
Declarative Environment Record
y 2
[[GlobalThisValue]]
foo Execution Context
LexicalEnvironment
foo Lexical Environment
FunctionEnvironmentRecord
OuterLexicalEnvironmentReference
Function Environment Record
a 20
arguments { 0: 20, length: 1, callee: foo}
x 3
y 4
bar <function object>
[[ThisValue]]
bar Execution Context
LexicalEnvironment
bar Lexical Environment
FunctionEnvironmentRecord
OuterLexicalEnvironmentReference
Function Environment Record
b 10
arguments { 0: 10, length: 1, callee: bar}
z 5
[[ThisValue]]
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
OuterLexicalEnvironmentReference null
Object Environment Record
BindingObject
window
x 1
foo <function object>
... ...
Declarative Environment Record
y 2
[[GlobalThisValue]]
foo Execution Context
LexicalEnvironment
foo Lexical Environment
FunctionEnvironmentRecord
OuterLexicalEnvironmentReference
[[ThisValue]]
Function Environment Record
a 20
arguments { 0: 20, length: 1, callee: foo}
x 3
y 4
bar <function object>
실행 컨텍스트 스택
Global Execution Context
LexicalEnvironment
Global Lexical Environment
GlobalEnvironmentRecord
OuterLexicalEnvironmentReference null
Object Environment Record
BindingObject
window
x 1
foo <function object>
... ...
Declarative Environment Record
y 2
[[GlobalThisValue]]
실행 컨텍스트 스택

More Related Content

PDF
JavaScript Execution Context
PPTX
JQuery selectors
PDF
JavaScript: Variables and Functions
PPTX
Java exception handling
PDF
An Introduction to ReactJS
PPTX
Python datetime
PPTX
Java 8 lambda
PDF
JavaScript - Chapter 11 - Events
JavaScript Execution Context
JQuery selectors
JavaScript: Variables and Functions
Java exception handling
An Introduction to ReactJS
Python datetime
Java 8 lambda
JavaScript - Chapter 11 - Events

What's hot (20)

PDF
Fundamental JavaScript [UTC, March 2014]
PPSX
Javascript variables and datatypes
PDF
Python Generators
PDF
React and redux
PDF
Xml parsing
PDF
Python collections
PPTX
Event In JavaScript
ODP
Introduction to ReactJS
PPT
Introduction to Javascript
PDF
Javascript Design Patterns
PPTX
9. ES6 | Let And Const | TypeScript | JavaScript
PDF
An introduction to React.js
PPTX
Javascript functions
PDF
Introduction into ES6 JavaScript.
DOCX
Java Code for Sample Projects Inheritance
PDF
Workshop 21: React Router
PPTX
An Introduction to the DOM
PPTX
Event handling
PPT
Effective Java - Enum and Annotations
Fundamental JavaScript [UTC, March 2014]
Javascript variables and datatypes
Python Generators
React and redux
Xml parsing
Python collections
Event In JavaScript
Introduction to ReactJS
Introduction to Javascript
Javascript Design Patterns
9. ES6 | Let And Const | TypeScript | JavaScript
An introduction to React.js
Javascript functions
Introduction into ES6 JavaScript.
Java Code for Sample Projects Inheritance
Workshop 21: React Router
An Introduction to the DOM
Event handling
Effective Java - Enum and Annotations
Ad

Recently uploaded (20)

PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
Construction Project Organization Group 2.pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
composite construction of structures.pdf
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Digital Logic Computer Design lecture notes
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Geodesy 1.pptx...............................................
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
web development for engineering and engineering
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PPT
Project quality management in manufacturing
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems
Construction Project Organization Group 2.pptx
Operating System & Kernel Study Guide-1 - converted.pdf
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
composite construction of structures.pdf
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Digital Logic Computer Design lecture notes
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
CH1 Production IntroductoryConcepts.pptx
Geodesy 1.pptx...............................................
UNIT-1 - COAL BASED THERMAL POWER PLANTS
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
web development for engineering and engineering
Lesson 3_Tessellation.pptx finite Mathematics
Project quality management in manufacturing
Strings in CPP - Strings in C++ are sequences of characters used to store and...
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Ad

Javascript Execution Context Flow

  • 3. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment
  • 4. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord Object Environment Record BindingObject window x undefined foo <function object> ... ...
  • 5. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord Object Environment Record BindingObject window x undefined foo <function object> ... ... Declarative Environment Record y <uninitialized>
  • 6. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord Object Environment Record BindingObject window x undefined foo <function object> ... ... Declarative Environment Record y <uninitialized> [[GlobalThisValue]]
  • 7. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord OuterLexicalEnvironmentReference null Object Environment Record BindingObject window x undefined foo <function object> ... ... Declarative Environment Record y <uninitialized> [[GlobalThisValue]]
  • 8. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord OuterLexicalEnvironmentReference null Object Environment Record BindingObject window x 1 foo <function object> ... ... Declarative Environment Record y 2 [[GlobalThisValue]]
  • 10. foo Execution Context LexicalEnvironment foo Lexical Environment FunctionEnvironmentRecord Function Environment Record a undefined arguments { 0: 20, length: 1, callee: foo} x undefined y <uninitialized> bar <function object> 매개변수 arguments 객체 함수 몸체에서 선언된 식별자
  • 11. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord OuterLexicalEnvironmentReference null Object Environment Record BindingObject window x 1 foo <function object> ... ... Declarative Environment Record y 2 [[GlobalThisValue]] foo Execution Context LexicalEnvironment foo Lexical Environment FunctionEnvironmentRecord Function Environment Record a undefined arguments { 0: 20, length: 1, callee: foo} x undefined y <uninitialized> bar <function object> [[ThisValue]]
  • 12. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord OuterLexicalEnvironmentReference null Object Environment Record BindingObject window x 1 foo <function object> ... ... Declarative Environment Record y 2 [[GlobalThisValue]] foo Execution Context LexicalEnvironment foo Lexical Environment FunctionEnvironmentRecord OuterLexicalEnvironmentReference Function Environment Record a undefined arguments { 0: 20, length: 1, callee: foo} x undefined y <uninitialized> bar <function object> [[ThisValue]]
  • 13. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord OuterLexicalEnvironmentReference null Object Environment Record BindingObject window x 1 foo <function object> ... ... Declarative Environment Record y 2 [[GlobalThisValue]] foo Execution Context LexicalEnvironment foo Lexical Environment FunctionEnvironmentRecord OuterLexicalEnvironmentReference Function Environment Record a 20 arguments { 0: 20, length: 1, callee: foo} x 3 y 4 bar <function object> [[ThisValue]]
  • 14. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord OuterLexicalEnvironmentReference null Object Environment Record BindingObject window x 1 foo <function object> ... ... Declarative Environment Record y 2 [[GlobalThisValue]] foo Execution Context LexicalEnvironment foo Lexical Environment FunctionEnvironmentRecord OuterLexicalEnvironmentReference Function Environment Record a 20 arguments { 0: 20, length: 1, callee: foo} x 3 y 4 bar <function object> [[ThisValue]] bar Execution Context LexicalEnvironment bar Lexical Environment FunctionEnvironmentRecord OuterLexicalEnvironmentReference Function Environment Record b undefined arguments { 0: 10, length: 1, callee: bar} z <uninitialized> [[ThisValue]]
  • 15. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord OuterLexicalEnvironmentReference null Object Environment Record BindingObject window x 1 foo <function object> ... ... Declarative Environment Record y 2 [[GlobalThisValue]] foo Execution Context LexicalEnvironment foo Lexical Environment FunctionEnvironmentRecord OuterLexicalEnvironmentReference Function Environment Record a 20 arguments { 0: 20, length: 1, callee: foo} x 3 y 4 bar <function object> [[ThisValue]] bar Execution Context LexicalEnvironment bar Lexical Environment FunctionEnvironmentRecord OuterLexicalEnvironmentReference Function Environment Record b 10 arguments { 0: 10, length: 1, callee: bar} z 5 [[ThisValue]]
  • 16. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord OuterLexicalEnvironmentReference null Object Environment Record BindingObject window x 1 foo <function object> ... ... Declarative Environment Record y 2 [[GlobalThisValue]] foo Execution Context LexicalEnvironment foo Lexical Environment FunctionEnvironmentRecord OuterLexicalEnvironmentReference [[ThisValue]] Function Environment Record a 20 arguments { 0: 20, length: 1, callee: foo} x 3 y 4 bar <function object>
  • 17. 실행 컨텍스트 스택 Global Execution Context LexicalEnvironment Global Lexical Environment GlobalEnvironmentRecord OuterLexicalEnvironmentReference null Object Environment Record BindingObject window x 1 foo <function object> ... ... Declarative Environment Record y 2 [[GlobalThisValue]]