본문 바로가기

JAVASCRIPT

<javascript> 전역 변수와 지역 변수의 차이

전역변수와 지역변수는 쉽게 말하면 어디에서 선언하느냐의 차이이다. 그런데 어디에서 선언했느냐에 따라 전혀 다른 내용이 되기 때문에 주의해야한다.

일단 의미는 다음과 같다

 -전역변수: 프로그램 어디에서도 사용이 가능하면, 아울러 프로그램미 종료시에 같이 사라진다
 -지역변수 : 함수나 { }안에 선언되어있으며 범위는 { } 안에서만 허용되며, 함수가 종료되면 사라진다

 

그리고 바로 예시 코드!

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>변수의 생명주기</title>
</head>
<body>
    <script>
        function localTest(){
            var value = "pepper";
            document.write("1, value = "+ value);
        }
        localTest();

        //value 값은 지역변수로 선언되어있어서 함수가 종료되면 사라지므로
        //전역에서는 사용할 수 없다.
        //따라서 화면에 출력되지 않는다
        document.write("2. value = " + value);
    </script>
   
</body>
</html>
 
-------------------------------------------------------------------------------------------------------

브라우저에 띄우면 요런 화면이 뜬다. 두번째로 적은 출력문

document.write("2. value = " + value);    

은 화면에 출력되지 않은 것을 볼 수 있다.

 

이유는 위에도 적어 두었지만 함수 밖에서 value를 호출했기 때문!

value라는 변수는 함수안에서 선언해주었기 때문에 함수가 종료된 시점에서 사라진다. 그래서 출력되지 않는다.

728x90