1 분 소요

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>지역변수와 전역변수</title>
</head>
<body>
    <script>
        //전역변수 : 프로그램 어디에서도 사용가능하며, 아울러 w프로그램이 종료시에 같이 사라진다.
        //지역변수 : 함수나 {}안에 선언되어 있으며 범위는 {}안에서만 허용이 되며, 또한 함수나 {}내용이
        //종료가 되면 사라지게 된다.
        
        var name = "global";   //전역변수 선언과 동시에 초기화
        function func1(){
            var name = "local1";   //지역변수 선언과 동시에 초기화
            document.write("name = " + name + "<br/>")
        }
        function func2(){
            var name = "local2";   //지역변수 선언과 동시에 초기화
            document.write("name = " + name + "<br/>")
        }
        function func3(){
            name = "local3";   //함수{}밖에 선언되어 있는 전역변수의 내용을 덮어쓴다.
            document.write("name = " + name + "<br/>")
        }
        //함수의 {} 밖에서 변수를 출력하고 있으니 당연히 전역변수가 출력이 된다.
        document.write("name = " + name + "<br/>");  //global출력이 된다.  
        
        func1();
        func2();
        func3();
        //위에서 func3()가 실행되었기 때문에 name이라는 전역변수에 local3 라는 값이 덮어쓰게 된다.
        document.write("name = " + name + "<br/>");  //local3가 출력이 된다.
        
    </script>
    
</body>
</html>

image

지역변수는 전역변수에서 호출 할 수 없다


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>변수의 생명 주기</title>
</head>
<body>
    <script>
        function localTest(){
            var value = "신은혁";
            document.write("1.value = " + value);  //{}내에서는 지역변수가 출력이 된다.
        }
        localTest();
        //value값은 지역변수로 선언되어 있어서 함수가 종료되면 사라지므로 전역에서는 사용할 수가 없다.
        document.write("2. value = " + value);
    </script>   
</body>
</html>

image

댓글남기기