실행 컨텍스트
실행 컨텍스트에 대한 목차를 정하고 정리
ObjectEnvironmentRecord = { bindObject: [object] }DeclarativeEnvironmentRecord = { a: 33, b: 'Hello World' }
Global Execution Context { LexicalEnvironment: GlobalEnv, VariableLexicalEnvironment: GlobalEnv, ThisBinding: window }GlobalEnv { ObjectLexicalRecord: { ObjectBinding: Window, }, OuterEnvironmentReference: null, }
function sum(x, y) { var result = x + y; var etc = function() { console.log('good'); } function msg() { return result; } } sum(10, 20);{ DeclarativeEnvironmentRecord: { }, OuterEnvironmentReference: null }{ DeclarativeEnvironmentRecord: { x: 10, y: 20 }, OuterEnvironmentReference: null }{ DeclarativeEnvironmentRecord: { x: 10, y: 20, msg: Function Reference }, OuterEnvironmentReference: null }{ DeclarativeEnvironmentRecord: { x: 10, y: 20, msg: Function Reference, arguments: Arguments Object, }, OuterEnvironmentReference: null, };{ DeclarativeEnvironmentRecord: { x: 10, y: 20, msg: Function Reference, arguments: Arguments Object, result: undefined, etc: undefined, }, OuterEnvironmentReference: null, }{ DeclarativeEnvironmentRecord: { x: 10, y: 20, msg: Function Reference, arguments: Arguments Object, result: undefined, etc: undefined, }, OuterEnvironmentReference: GloabalEC, }{ DeclarativeEnvironmentRecord: { x: 10, y: 20, msg: Function Reference, arguments: Arguments Object, result: 30, etc: undefined, }, OuterEnvironmentReference: GloabalEC, }{ DeclarativeEnvironmentRecord: { x: 10, y: 20, msg: Function Reference, arguments: Arguments Object, result: 30, etc: Function Reference, }, OuterEnvironmentReference: GloabalEC, }
Last updated