Долгое время JavaScript развивался без проблем с обратной совместимостью к прошлым версиям языка: добавлялись новые возможности, старая функциональность не изменялась.
Объявленные переменные могут быть не доступны в разных частях кода. Их доступность определяется областью видимости.