몽탁이의 개발일기
정적 유효범위 본문
가리키는 변수를 어느 시점에서 결정하느냐에 따라 정적 유효범위인가 동적 유효범위인가를 나누게 됩니다.
var i=5;
function a(){
var i=10;
b();
}
function b(){
document.write(i);
}
a();
위 예제를 보면 a함수를 호출하게되면 b함수가 호출하게 되어있습니다. 이때 b함수에서 가리키는 변수는
전역 번수인 var i =5; 를 가리키게 됩니다.
그 이유는 b()가 호출되는 시점에서 i값을 참조하는 것이 아니라 b()가 정의되는 시점에서 i가 참조해야 되는 값을 찾게 됩니다. 그렇기 때문에 전역 변수인 i를 가리키게 되는 것입니다.
그리고 이 것을 정적 유효범위라고 합니다.