(자바스크립트) 함수범위

function whereAreYou(){
   var justAVar="그저 일반적인 지역변수입니다.";
 
   function inner(){
       return justAVar;
   }
  return inner;

}


var innerFunction=whereAreYou();
var result=innerFunction();
console.log( result );


설명: 먼저 whereAreYou() 함수를 호출합니다. 이 함수는 함수 참조를 반환하므로 innerFunction변수를 선언해 반환된 함수 참조를 할당합니다. 이때 함수 참조가 환경에 연결되어 있다는 점에 주의, 여기서 환경이란 지역변수 justAVar이 저장된것을 말한다.

이제 innerFunction()를 호출한다. 함수를 호출하면 함수 본체가 실행되는데, 이때 다음과 같이 함수와 연결된 환경에서 실행된다.


댓글

이 블로그의 인기 게시물

(18장) WebSocekt과 STOMP를 사용하여 메시징하기

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬