C 언어 유형의 구문을 가진 언어는 일반적으로 블록 유효범위가 있다.
- 블록 내에서 정의된 모든 변수는 블록의 바깥쪽에서 접근할 수 없다.
- 블록 내에서 정의된 변수는 블록의 실행이 끝나면 해제된다.
자바스크립트의 블록 구문은 마치 블록 유효범위를 지원하는 것처럼 보이지만
자바스크립트는 블록 유효범위를 지원하지 않는다.
함수 유효범위가 있다.
최근의 프로그래밍 언어들에서는 변수를 가능한 늦게 ( 처음 사용하기 직전에 ) 선언하여
사용할 것을 권고한다.
자바스크립트에서는 블록 유효범위를 지원하지 않기 때문에 이런 권고는 적용되지 않는다.
자바스크립트에서는 함수에서 사용하는 모든 변수를 함수의 최상단에서 선언하여
사용하는 것이 바람직한 방법이라고 볼 수 있다.