<HTML>
<HEAD>
<TITLE> :::: 자바스크립트 전역변수 :::: </TITLE>
<script language="JavaScript">
function localVar()
{
ret = "전역변수입니다.";
}
localVar();
document.write(ret);
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
------------------------------------------------------------------------------------------
위의 코드는 전역변수를 사용하는 하는 방법에 대한 코드입니다. 전역변수는 지역변수와 달리
함수 내에서 변수를 선언하지 않고 바로 변수에 대해서 값을 부여해주면 전역변수로 인식하게 됩니다.
현재 게시되어있는 "자바스크립트 지역변수" 라는 블로그 글에나와있는 내용과는 달리
위의 코드는 에러가 나지 않고 함수내에서 전역변수에 대입한 "전역변수입니다." 라는 문자열이
정상적으로 출력되는것을 볼 수 있습니다. 아래는 결과화면입니다.
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
이처럼 전역변수는 함수 내에 변수에 대한 선언(var 과 같은 예약어)을 하지 않고 바로 변수를 사용하면 전역변수로써 작용하게 되고, 때문에 함수 밖에서 함수내에 있는 변수에 접근 할 수 있습니다.
이번엔 위의 코드와 달리 아래의 코드처럼 전역변수를 지정할 수 있습니다.
------------------------------------------------------------------------------------------
<HTML>
<HEAD>
<TITLE> :::: 자바스크립트 전역변수2 :::: </TITLE>
<script language="JavaScript">
var ret = "전역변수입니다.";
function localVar()
{
document.write(ret);
}
localVar();
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
------------------------------------------------------------------------------------------
위의 코드대로 해도 결과는 똑같이 나옵니다. 즉 정리하면 전역변수를 사용하는 방법은 다음과 같습니다.
[1] 함수내에서 var 예약어를 생략한채로 변수 선언하기.
[2] 함수 밖에서 변수 선언하기(var 예약어 사용)
[3] 함수 밖에서 var 예약어를 생략한채로 변수 선언하기.
이렇게 3가지 방법이 있습니다. 여기서 가급적 추천하는 방법은 [2]번을 추천합니다.
그 이유는 일단 [3]번 방법은 만약 코드가 길어질 경우에 이 변수가 다른곳에서 선언된 변수를
가져와 사용하는것인지 아니면 현재 전역변수로 선언된 것인지 판별하기가 쉽지 않기 때문입니다.
[1]번 또한 마찬가지로 다른곳에서 선언된것인지 아니면 함수내에서 선언된것인지 판별하기
쉽지 않습니다. 따라서 가급적이면 [2]번으로 전역변수를 선언하는것이 가장 좋습니다.
'JavaScript' 카테고리의 다른 글
자바스크립트 재귀호출함수 (0) | 2013.08.03 |
---|---|
자바스크립트 반환값이 있는 함수 만들기 (0) | 2013.08.03 |
자바스크립트 지역변수 (0) | 2013.08.03 |
자바스크립트 내장함수 isNaN() (0) | 2013.08.03 |
자바스크립트 내장함수 escape(), unescape() (0) | 2013.08.03 |