Учебник по области действия и цепочке областей видимости в JavaScript.

Цепочка области действия: мы знаем, что каждый вызов функции создает контекст выполнения в стеке вызовов, и каждый контекст выполнения имеет доступ к своей переменной среды и ссылку на внешний мир, что означает другие контексты выполнения и глобальный контекст выполнения. Всякий раз, когда наш код пытается получить доступ к переменной во время вызова функции, он начинает поиск с локальных переменных и переходит к внешней области видимости и другим контекстам выполнения в стеке вызовов.

В приведенном выше примере она начинает поиск в локальной среде, но функция видит, что то, что печатается, не является локальным, и начинает поиск в глобальной среде, может видеть A и распечатывать это. на этом изображении ниже мы видим, что всякий раз, когда мы не можем найти локальные переменные, мы смотрим на внешние среды.

Когда функция вызывается, создается лексическая среда или создается новая область, и каждая вновь созданная среда имеет свою собственную переменную среду, которая указывает на внешнюю область, пока не достигнет глобальной области.

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

область действия для fun() включает a,b, и fun1(), когда для этой функции создается область действия, она будет независимо от того, когда произойдет объявление. fun1(), который находится внутри fun(), также будет иметь свою область действия, и ни одно из объявлений внутри fun() не будет быть доступным за пределами их области. Область действия функции поощряет идею о том, что все переменные принадлежат функции и могут использоваться и повторно использоваться во всей функции.

Область действия блока.Область действия блока можно определить как область действия переменных, заключенных в фигурные скобки, и до того, как в ES6 (2015) JavaScript имел единственную глобальную область действия и область действия функции. ES6 представил два важных новых ключевых слова JavaScript: let и const. Эти два ключевых слова обеспечивают область действия блока в JavaScript.

Заблокировать область с помощью ключевого слова var:

Заблокировать область действия с помощью let и ключевого слова const:

Я внештатный веб-разработчик с полным стеком и технический писатель, не стесняйтесь обращаться ко мне🤓

Подпишитесь на меня в LinkedIn:



Подпишитесь на меня на GitHub:



Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.