아래 예제에서의 함수 test는 x라는 지역변수를 가지고 있습니다.
이 값을 함수를 실행했을 때 반환하여 다른 스크립트에서 사용가능하도록 해보겠습니다.
var test = function(){
var x = 1;
}
test();
이 함수를 실행할 경우 어떤 결과가 나타날까?
아무런 일도 일어나지 않습니다.
return이 사용되지 않았기 때문입니다.
즉 내부 구문들을 실행하였으나 반환할 값이 선언되지 않았고 return 역시 선언되지 않았습니다.
만약 x를 얻기 위해서는 어떻게 해야될까요?
아래처럼 return 문을 사용해야 합니다.
var test = function(){
var x = 1;
return x;
}
var test2 = test(); // 1을 반환하여 test2에 1이 저장됨
test() 함수를 실행할 경우 해당함수는 1을 반환합니다.
반환값을 사용하기 위해서는 변수가 필요합니다.
그래서 test2 변수를 선언하고 여기에 저장하였습니다.
만약 return 없이 x의 값을 불러올 수 있을까요?
불가능합니다.
그 이유는 앞에서도 말한 것처럼 x가 함수내에서 실행된 지역변수이기 때문입니다.
그러므로 지역변수가 필요한 경우 return을 사용해 외부로 반환하여 사용해야합니다.