유효범위
유효범위(Scope)
변수의 수명
var vscope = 'global';
function fscope(){
alert(vscope);
}
fscope(); //global1. 전역변수(Global Scope)
함수 밖에서 선언된 변수 - 함수 안에서도 그 변수에 접근할 수 있음
var vscope = 'global';
function fscope(){
var vscope = 'local';
alert('함수안 '+vscope); //함수안 local
}
fscope();
alert('함수밖 '+vscope); //함수밖 global2. 지역변수(Local Scope)
함수 안에서 선언된 변수 - 함수 밖에서 함수 안의 변수에 접근할 수 없음
같은 이름의 지역변수와 전역변수가 동시에 정의되어 있다면 지역변수가 우선시 됨
3. 유효범위의 효용
3-1. 전역변수를 불가피하게 써야하는 경우
하나의 객체를 전역변수로 만들고 객체의 속성으로 변수를 관리하는 방법을 사용
3-2. 전역변수를 사용하고 싶지 않을 때 익명함수를 호출
4. 유효범위의 대상 (함수)
자바스크립트는 함수에 대한 유효범위만을 제공 많은 언어들이 블록(대체로 {,})에 대한 유효범위를 제공하는 것과 다른 점
5. 정적 유효범위(static scoping)
자바스크립트는 함수가 선언된 시점에서의 유효범위를 갖게 됨 이러한 유효범위 방식을 정적 유효범위(static scoping), 렉시컬(lexical scoping)이라 함
즉, 함수를 호출해서 변수값을 가져오는 시점이 아닌 함수가 정의되는 시점 이후 클로저(Closure)와 연결됨
Last updated
Was this helpful?