JavaScript/JavaScript
[Javascript] 변수의 유효범위 (함수단위)
뚱2
2011. 12. 13. 19:57
기존의 C계열(C, Java)의 프로그램에서 변수의 유효범위는 {}로 정해진다.
자바스크립트도 문법은 C계통과 비슷 ( java) 하기에 당연스럽게 {}가 변수 유효범위인줄 알았다.
아래와 같이 테스트 해보니 예외가 발생하지 않는다.
결국 자바스크립트에서 변수의 유효범위는 함수기반이다.
* 확실히 하기 위해서 익명함수를 만들고 바로 try catch 구분을 걸었으며 if문 안의 {}안에 변수를
선언했지만 결과적으로 유효하게 alert창이 출력된다.
자바스크립트도 문법은 C계통과 비슷 ( java) 하기에 당연스럽게 {}가 변수 유효범위인줄 알았다.
아래와 같이 테스트 해보니 예외가 발생하지 않는다.
결국 자바스크립트에서 변수의 유효범위는 함수기반이다.
* 확실히 하기 위해서 익명함수를 만들고 바로 try catch 구분을 걸었으며 if문 안의 {}안에 변수를
선언했지만 결과적으로 유효하게 alert창이 출력된다.
//예외가 발생하지 않는다. try { alert((function() { try { if ( true ) { var myVal = "함수 안의 if 구분 안입니다."; } } catch(e) {alert(e.message);} finally {} return myVal; })()); } catch(e) {alert(e.message);} finally {}