- JavaScript에서의 scope와 클로저
1) 로컬 변수, var과 글로벌 변수
<script> function test() { var myName = 'longlee'; } test(); alert(myName); </script> |
<script> function test() { myName = 'longlee'; } test(); alert(myName); </script> |
위의 첫 번째 예제는 var 키워드를 통해서 선언한 변수이고, 두 번째 예제는 var 키워드를 사용하지 않고
선언과 동시에 초기화한 변수이다(var 키워드를 사용하지 않으면 선언과 동시에 초기화를 해주어야 한다.).
첫 번째 예제는 에러를 발생 시키는데, 두 번째는 에러 없이 작동한다. 그 이유는 무엇일까?
그 이유는 var 키워드를 사용하지 않고 선언한 변수는 글로벌 변수이기 때문이다.
즉 첫 번째 예제의 변수는 함수 로컬 변수이기 때문에 사용할 수 없고,
두 번째 예제의 변수는 글로벌 변수이기 때문에 사용할 수 있는 것이다.
'JavaScript' 카테고리의 다른 글
자바스크립트 (JavaScript) - 30 : 함수 스코핑(functional scoping)과 클로저 (0) | 2016.07.19 |
---|---|
자바스크립트 (JavaScript) - 29 : 함수 스코핑(functional scoping)과 클로저 (0) | 2016.07.19 |
자바스크립트 (JavaScript) - 27 : 콜백 함수 (0) | 2016.07.19 |
자바스크립트 (JavaScript) - 26 : 내부 함수 (0) | 2016.07.19 |
자바스크립트 (JavaScript) - 25 : 리턴값 (0) | 2016.07.19 |