<!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>

지역변수는 전역변수에서 호출 할 수 없다
<!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>

댓글남기기