IBM определяет его как:
Часть программы или сегмента, в которой применяется декларация. Идентификатор, объявленный в подпрограмме, известен внутри этой процедуры и внутри всех вложенных подпрограмм. Если вложенная подпрограмма объявляет элемент с тем же именем, внешний элемент недоступен во вложенной подпрограмме.
blockquote>Пример 1:
function x() { /* Variable 'a' is only available to function 'x' and function 'y'. In other words the area defined by 'x' is the lexical scope of variable 'a' */ var a = "I am a"; function y() { console.log( a ) } y(); } // outputs 'I am a' x();
Пример 2:
function x() { var a = "I am a"; function y() { /* If a nested routine declares an item with the same name, the outer item is not available in the nested routine. */ var a = 'I am inner a'; console.log( a ) } y(); } // outputs 'I am inner a' x();