Animated Rainbow Nyan Cat
본문 바로가기
javascript

전역변수와 지역변수

by 이유나1 2022. 7. 29.
728x90
반응형

전역변수와 지역변수

전역변수는 함수 블록{} 밖이나 안에서 자유롭게 사용 가능하지만 지역변수는 함수블록{} 내에서만 사용 가능

전역변수

kor 변수는 전역 변수입니다. 따라서 geScore()함수를 호출 하게 되면 kor 변수 값이 90에서 100으로 바뀐다.

var kor = 90; function getscore() {
kor = 100; //전역변수
console.log(kor); // 100
}
getscore();
console.log(kor); // 100

var num = 10;
{
var num = 20; //num은 전역 변수이다.
console.log(num);//20
}
console.log(num);//20
var num = 10;
{
var num = 10;
if (num === 10 ) {
var sum = 20; //전역변수
}
console.log(sum);//20

지역변수

kor 변수를 var로 정의하였다.
함수블록{}안에서 var로 선언된 변수는 지역변수가 된다. 함수블록{} 밖의 전역변수 kor 과 다른 별도의 변수가 된다.

var kor = 90;
function getscore() {
var kor = 100; //지역변수
console.log(kor); // 100
}
getscore();
console.log(kor); // 90

let num = 10;
{
let num = 20; //num은 지역변수이다.
console.iog(num); //20
}
console.iog(num); //10
const num = 10;
{
const num = 20; //num은 지역변수이다.
console.iog(num); //20
}
console.iog(num); //10
let num = 10;
if (num === 10) {
let sum = 20; //지역변수
}
console.iog(num); //에러

함수 레벨 스코프(function level scope)

함수 레벨 스코프의 특징 var
● var -> 변수를 중복해서 선언할 수 있다. 함수 블록{} 내에서만 지역 변수가 존재한다.

블록 레벨 스코프(block level scope)

블록 레벨 스코프의 특징 2가지 let,const
● let -> var와 같지만 같은 블록{}에서는 이미 선언한 변수를 중복해서 선언할 수 없다.
● const -> 저장된 값을 변경할 수도 없다.

[예제]

// 함수의 전역변수
var sum1 = 10;
function add1(){
sum1 = 20;
}
add1();
console.log('전역' + sum1);
// 함수의 지역변수
var sum2 = 30;
function add2(){
var sum2 = 40;
console.log('지역' + sum2);
}
add2();
console.log('전역' + sum2);
// 블록의 지역변수
var num1 = 50;
if (num1 === 50){
var num1 = 60;
}
console.log('전역' + num1);
let num2 = 70;
if(num2 === 70){
let num2 = 80;
console.log('지역' + num2);
}
console.log('전역' + num2);
결과 확인하기 전역20
지역40
전역30
전역60
지역80
전역70
728x90

'javascript' 카테고리의 다른 글

join() / push() / pop()  (2) 2022.08.11
요소 선택  (7) 2022.08.05
함수  (5) 2022.07.26
데이터타입  (5) 2022.07.26
조건문  (5) 2022.07.26

댓글


/
/
/

CSS
광고준비중입니다.