변수의 가시영역과 전역변수

Seungmin Lim·2022년 1월 14일
0

JavaScript

목록 보기
12/41

전역변수와 지역변수의 이름이 같으면 어떻게 될까?

 var f1 = function(){
 a = 1; // == window.a = 1 전역변수 global variable
 var a = 3; //지역변수 local variable
 a++;
 alert(a); //4 
 }
 f1();

지역변수가 더 높은 우선순위를 가지므로 4가 출력된다.

동일한 변수를 선언하면 어떻게 될까?

var a = 1;
var a = 2;
alert(a); //2

보통 다른 언어에서는 에러가 발생하겠지만, JavaScript에서는 가장 최신의 값으로 바뀐다.

함수내에서 전역변수가 발생하면 어떻게 될까?

function f1(){
a=1; // == window.a=1;
}
f1()
alert(a); //1

신기하게도 1이 출력된다. 변수 선언을 하지않으면 전역함수로 자동으로 받아내서 a에 1이 담긴다.

0개의 댓글

관련 채용 정보