Scope란, 우리가 변수 혹은 함수를 선언하게 될 때 해당 변수 또는 함수가 유효한 범위를 의미한다.
즉, 해당하는 변수가 유효하게 동작할 수 있는 범위를 이야기한다.
1) Global (전역) Scope: 코드의 모든 범위에서 사용이 가능하다.
1
2
3
4
5
6
7
8
9
|
var vscope = 'global';
function fscope(){
alert(vscope);
}
fscope(); //global
|
cs |
2) Function (함수) Scope: 유효성의 범위를 벗어나면 사용불가능
1
2
3
4
5
6
7
8
9
10
|
var vscope = 'global';
function fscope(){
var lv = 'local val';
alert(lv);
}
fscope(); //local val
alert(lv); //오류
|
cs |
- 전역변수: vscope - global
- 지역변수: lv - local val
fscope() 함수 안에서 생성된 변수이기때문에 함수로 호출되는 것이 아닌 기능 그 자체를 외부에서 사용하려고하면 오류가 나온다.
3) Block (블록) Scope: 지역변수와 전역변수가 동시에 정의되어있으면 지역변수를 우선시한다.
1
2
3
4
5
6
7
8
9
10
|
var vscope = 'global';
function fscope(){
var vscope = 'local';
alert('함수안' + vscope);
}
fscope(); //global
|
cs |
- 전역변수: vscope - global
- 지역변수: vscope - local val
전역과 지역에 동일한 명의 변수가 동시에 정의되어있다면 지역변수가 우선시되어 global이 출력된다.
1
2
3
4
5
6
7
8
9
10
|
var vscope = 'global';
function fscope(){
vscope = 'local' ;
alert('함수안'+vscope);
}
fscope(); //함수안 local
alert('함수밖' + vscope);//함수밖 local
|
cs |
- 전역변수: vscope - global
- 지역변수: vscope - local val
단, 여기서 alert() 함수를 통해 vscope를 불러보았다. 결과는 "함수밖 local"이 출력된다. 이는 "함수의 재할당"으로 이해한다.
'국비필기노트 > HTML & CSS & JS' 카테고리의 다른 글
JS_주요 내장 함수 (0) | 2022.05.10 |
---|---|
JS_배열 (0) | 2022.05.10 |
JS_함수(function) 호출방법 (0) | 2022.05.10 |
JS_변수의 종류 (0) | 2022.05.10 |
HTML_기본 태그 (0) | 2022.05.03 |