JavaScript, хоть и является С-подобным языком программирования, но не поддерживает механизм области видимости внутри блока, вместо этого поддерживается собственных механизм видимости внутри функции - так переменная объявленная внутри функции доступна внутри этой функции, а также внутри всех функций, вложенных в данную.