변수의 유효범위 scope
2021. 11. 30. 12:55ㆍStudy/JavaScript
스코프란?
*함수(function) 사용 시 변수/배열의 유효범위
*스코프(scope, 유효범위)는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적인 개념. 확실한 이해가 필요하다.
*변수는 크게 '지역변수', '전역변수' 두 종류로 나눌 수 있다.
지역변수
*함수 내에서 만들어진다.
*각각의 '함수 내에서 만들어진' 변수는 그 해당 함수에서만 사용할 수 있다.
*보안에 취약하다
// 지역변수
function callFunc1() {
var cnt1=100; // 지역변수
var cnt2=200; // 지역변수
}
function callFunc2() {
var result=0; // 지역변수
result = cnt1 + cnt2; // cnt1, cnt2는 선언되어 있지 않아 오류가 난다.
alert('두정수의 합:' + result);
}
callFunc1();
callFunc2();
전역변수
*함수 외부에서 선언한다.
*함수 외부에서 선언하고, 모든 함수가 함께 공유해서 사용할 수 있는 변수
// 전역변수
var cnt1=0; // 전역변수
var cnt2=0; // 전역변수
function callFunc1() {
cnt1=prompt('정수를 입력하세요','');
cnt2=prompt('정수를 입력하세요','');
}
function callFunc2() {
var result=0; // 지역변수
result = cnt1 + cnt2;
alert('두정수의 합:' + result);
}
callFunc1();
callFunc2();
예제
var cnt1 = 200; // 전역변수
var cnt2 = 200; // 전역변수
function callFunc1(){
var cnt1 = 100; // 지역변수
var cnt2 = 100; // 지역변수
}
function callFunc2(){
var result=0;
result=cnt1+cnt2;
console.log(result); // 전역변수를 사용하여 값은 400이다
}
function callFunc3(){
var result=0; // 지역변수
var cnt1=10; // 지역변수
var cnt2=10; // 지역변수
result=cnt1+cnt2;
console.log(result); // 지역변수를 사용하여 값은 20이다.
}
callFunc1();
callFunc2();
callFunc3();
참고 :)
https://poiemaweb.com/js-scope
https://www.nextree.co.kr/p7363/
'Study > JavaScript' 카테고리의 다른 글
Object 내장객체 (0) | 2021.12.01 |
---|---|
Object 사용자 정의 객체 (0) | 2021.12.01 |
사용자 정의 함수 Function (0) | 2021.11.30 |
break; continue; (0) | 2021.11.30 |
JavaScript - 7. 반복문 while (0) | 2021.11.29 |