Js의 가변 범위 문제:
1. 블록 수준 범위가 없습니다. C/C/Java와 달리 JS의 변수 범위는 {}로 제한되지 않습니다.
예:
if(true){
var 이름 = "qqyumidi";
}
~
경고(이름); // 결과: qqyumidi
JS는 if에 정의된 변수를 현재 실행 환경에 추가하게 됩니다. 특히 for 루프를 사용할 때는 다른 언어와의 차이점에 주의해야 합니다.
for(var i=0; i<10; i ){
;
}
경고(i); // 결과: 10
개인적인 이해이므로 틀린 부분이 있으면 알려주세요.