논리적 오류를 범하기 쉽다. 전역변수, 지역변수의 유효범위에 대해서 중요하게 짚어볼 필요가 있다.
<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>