functionoutFunc() { // 이때의 value는 local영역의 value가 없기 때문에 global 의 value 를 참조합니다. console.log(value);
functioninnerFunc() { // 이때도 마찬가지로 local에 value가 없기 때문에 global 의 value 를 참조합니다. console.log(value); // innerValue 라는 지역 변수 선언합니다. var innerValue = "local"; } innerFunc(); } outFunc(); // error: innerValue is not defined // 외부에서 내부 스코프의 값을 참조할 수 없습니다. global 에서는 innerValue가 선언된 줄도 모르고 있습니다. console.log(innerValue); //(3)
functionoutter() { console.log(value); // (2)
functioninner() { console.log(value); // (1)
var innerValue = "local"; //inner함수 안에서만 참조 가능 } }
outter();
console.log(innerValue); // error : 지역변수는 스코프안에 갇혀 있기 때문에 참조 할 수 없다