Javascript: контекст выполнения
Пока коды, которые мы пишем, работают, в фоновом режиме есть процессы, которые мы не видим. Когда движок Javascript считывает и выполняет коды, он делает это в два этапа. Этот общий процесс, который называется контекстом исполнения , состоит из 2 стадий, как мы уже упоминали, как фазу создания и фазу выполнения .
На первом этапе, называемом этапом создания , JS-движок выполняет некоторую работу по ознакомлению и подготовке кода. Создает контекст, выделяет память для хранения переменных и функций. На следующем этапе, который является фазой выполнения , движок JS присваивает значения, которые мы упомянули, переменным, с которыми он уже знаком, и вызывает функции.
Мы можем сравнить это с приготовлением пищи. С самого начала мы узнаем, какие аксессуары необходимы для еды, которую мы собираемся приготовить (фаза создания).
Затем определяем количество припасов и начинаем действие по приготовлению еды (фаза исполнения).
Когда код выполняется в первый раз, сначала создается глобальный контекст выполнения и выполняются упомянутые фазы. Затем, если функции существуют и вызываются, создаются функциональные контексты выполнения и выполняются обе фазы.
Мы можем практически увидеть все это с кодом ниже.
- Когда этот код будет прочитан движком, сначала будет создан глобальный контекст .
2. Если вы заметили, с переменной tech в функции getTechStack ничего не делалось . Это потому, что переменная находится внутри функции getTechStack . После вызова этой функции, как в строке 9, будет создан новый функциональный контекст , и в этом контексте снова будут выполняться 2 фазы. Только тогда техническая переменная будет рассматриваться как любая другая переменная.
В отличие от глобального контекста , глобальный объект в функциональном контексте будет эквивалентен объекту arguments , который ссылается на параметры функции.
Таким образом, каждый раз, когда вызывается функция, отличная от глобального контекста, будет создан новый контекст и будет повторяться одна и та же процедура.
Спасибо за чтение. :)
Другие темы:

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































