본문 바로가기

Udemy/JavaScript:Understanding the weird part

The Scope Chain

function b(){			 	Execution Context
	console.log(myVar);		myVar 1 (Reference to Outer Environment) > Global Execution Context
}

function a(){				Execution Context
	var myVar = 2;			myVar 2 (Reference to Outer Environment) > Global Execution Context
    b();
}

var myVar = 1;				Global Execution Context
a();						myVar 1

// 1

function b의 경우 myVar을 찾을 수 없어서 outer environment를 참조

b()  >  a()  >  Global Execution Context 

이러한 것을 스코프 체인이라 한다.

Scope : 어디서 변수가 접근 가능한지

function a() {

	function b() {
    	console.log(myVar);
     }
   	 
     var myVar = 2;
     b();
     
 }
 
 var myVar = 1;
 a();	// 2
 b();	// b is not defined
 

function b의 경우 Global Execution Context에서 실행되지 않아 실행불가, a()함수 안에서 

b()  ->  a()  -> Global Execution Context

'Udemy > JavaScript:Understanding the weird part' 카테고리의 다른 글

The 'new' keyword  (0) 2019.03.08
closure and keyword 'this'  (0) 2019.03.07
Object-Oriented Javascript and Prototypal Inheritance  (0) 2019.03.04
Objects and Functions  (0) 2019.02.24
Types and Operators  (0) 2019.02.23