전역변수란 함수 정의문 밖에서 선언된 변수이며, 이 변수에 저장된 데이터는 자바스크립트가 선언된 곳이라면 어디든 사용할 수 있다.

지역변수는 함수 정의문 내에서 선언된 변수로, 이 변수에 저장된 데이터는 해당 함수 정의문 내에서만 사용할 수 있다.

전역변수


/*
  var 변수;

  function 함수명(){
    변수=값;
  }
*/


지역변수


/*
  function 함수명(){
    var 변수=값;
  }
*/


지역변수와 전역변수를 나누는 이유는 변수의 중복 사용을 피하기 위해서이다.
즉, 함수 정의문 내에서 지역변수를 이용하게 된다면, 여러 함수에 같은 변수가 있어도 중복될 일이 없다.

하지만 한개의 변수를 여러 함수에 공용으로 사용하고 싶다면 전역변수를 선언해야 한다.




-지역변수와 전역변수 예제


var num = 200;

function myFnc(){
  var num = 500;
}

myFnc();

document.write(num);


먼저 전역변수로 변수 num에 200이라는 값을 담았다.
그리고 myFnc라는 함수를 만들어서 함수 정의문 내에 변수 num에 500이라는 값을 담았다.

함수를 호출 해주고, 문서에 변수 num의 값을 출력해보면, 500이 아닌 200이 출력된다.

함수 정의문 내에 선언된 변수는 지역변수이기 때문에 함수의 밖에서는 사용할 수 없기 때문이다.