프로그래밍/JavaScript Web App

자바스크립트 지역변수, 전역변수의 유효범위 (중요)

쇠주는참이슬 2013. 1. 15. 11:28

논리적 오류를 범하기 쉽다.

전역변수, 지역변수의 유효범위에 대해서 중요하게 짚어볼 필요가 있다.


<script type="text/javascript">

a = "global";

function test()

{

console.log(a);

var a = "local";

console.log(a);

}

test();


/* 

    - 함수내에서 사용하는 변수선언은 가급적 가장 위에 선언하는게 좋다

    - 일반적으로는 전역변수인 "global"이 표시될것 같지만 자바스크립트의 지역변수는 함수 호출시 호출객체의

       속성이 선언되기 때문에 전역변수 "global"이 표시되지않고 지역변수 a 가 표시된다. 선언은 됐으나 값이 할당

       되지 않았기 때문에 "undefined"가 표시된다. 

    - 전역변수로 표시하기 위해서는 test 함수 아래 a를 window.a 로 하면 global이 표시된다.    

*/

</script>