2016. 12. 14. 20:31
javascript의 유효 범위 Javascript & HTML & CSS/pure javascript2016. 12. 14. 20:31
javascript의 유효 범위는 타 언어와는 조금 다르다.
유효범위가 블럭 단위가 아니라 함수이다.
var 키워드를 생략할 수 있음
-> 단, 이렇게 하면 전역변수화 됨
함수 실행 시 유효범위는 실행환경이 아니고 정의 환경을 따름
즉, 아래와 같은 코드는 문제가 생긴다는 뜻.
function f1(){
var a = 10;
f2();
}
function f2(){
return a;
}
f1();
실행 결과 : a is not defined
실행 타이밍에는 분명 순서를 보면 f2가 a를 리턴하고, f1은 a를 이미 선언했으므로 f2가 리턴하는 a를 인식할 수 있어야 하는데 하지 못하고 있다.
이는 함수를 정의할 때 f1의 a와 f2의 a가 서로 다른 변수로 인식되기 때문이다.
참고 : http://www.nextree.co.kr/p7363/
'Javascript & HTML & CSS > pure javascript' 카테고리의 다른 글
Javascript 객체지향 개발 (0) | 2016.12.28 |
---|---|
javascript 성능 최적화 및 브라우저 처리 방법 (0) | 2016.12.21 |
javascript event 전달 막기 (0) | 2016.12.06 |
javascript 객체지향 연습 - LinkedList 만들기 (0) | 2016.12.05 |
javascript 객체의 형태 (0) | 2016.12.04 |