Область видимости 
              
              
              
                Вы уже знаете, что переменные можно объявлять в любом месте кода. Но от места, где объявлена переменная, зависит возможность обратиться к этой переменной. 
              
            
                Правила поиска переменной в функции
              
              
              
                Когда вы обращаетесь к переменной, движок ищет её, руководствуясь двумя правилами. 
              
            
                Глобальная и локальная область видимости
              
              
              
                Область видимости вне любых функций называется глобальной. Идентификаторы, определённые в ней, видны везде.
              
            
                Вложенные области видимости
              
              
              
                Области видимости «вкладываются» друг в друга.
              
            
                Затенение идентификаторов
              
              
              
                Если в теле функции обратиться к идентификатору, движок JavaScript сначала ищет его в теле этой функции, и уже потом снаружи.