유효범위

유효범위(Scope)

변수의 수명

var vscope = 'global';
function fscope(){
    alert(vscope);
}
fscope(); //global

1. 전역변수(Global Scope)

함수 밖에서 선언된 변수 - 함수 안에서도 그 변수에 접근할 수 있음

var vscope = 'global';
function fscope(){
    var vscope = 'local';
    alert('함수안 '+vscope); //함수안 local
}
fscope();
alert('함수밖 '+vscope); //함수밖 global

2. 지역변수(Local Scope)

함수 안에서 선언된 변수 - 함수 밖에서 함수 안의 변수에 접근할 수 없음

3. 유효범위의 효용

3-1. 전역변수를 불가피하게 써야하는 경우

하나의 객체를 전역변수로 만들고 객체의 속성으로 변수를 관리하는 방법을 사용

3-2. 전역변수를 사용하고 싶지 않을 때 익명함수를 호출

4. 유효범위의 대상 (함수)

자바스크립트는 함수에 대한 유효범위만을 제공 많은 언어들이 블록(대체로 {,})에 대한 유효범위를 제공하는 것과 다른 점

5. 정적 유효범위(static scoping)

자바스크립트는 함수가 선언된 시점에서의 유효범위를 갖게 됨 이러한 유효범위 방식을 정적 유효범위(static scoping), 렉시컬(lexical scoping)이라 함

즉, 함수를 호출해서 변수값을 가져오는 시점이 아닌 함수가 정의되는 시점 이후 클로저(Closure)와 연결됨

Last updated

Was this helpful?