При определении функции (объявления или выражения) создается новая область видимости. Расположение областей видимости, вложенных друг в друга, создает в программе естественную иерархию областей видимости, которая называется цепочкой областей видимости. Цепочка областей видимости управляет доступом к переменным.
Каждая новая область видимости предоставляет пространство для хранения ее собственного набора переменных. Если имя переменной повторяется на разных уровнях цепочки, происходит затенение, которое блокирует доступ к внешней переменной с этой точки по направлению к внутренним областям.
Вы пока еще не знаете JS} Область видимости и замыкания
·
Кайл Симпсон