quartz/content/Wiedza/Programowanie/JavaScript/Zakres/Execution Context.md
Adam Gospodarczyk 26fd11cf4a Add title
2022-04-26 18:19:23 +02:00

14 lines
1.1 KiB
Markdown

---
title: Execution Context
---
To abstrakcyjny koncept środowiska w którym **interpretowany i wykonywany jest kod [[Wiedza/Programowanie/JavaScript/JavaScript]]**. Za każdym razem gdy uruchamiamy kod JS, dzieje się to w [[Wiedza/Programowanie/JavaScript/Zakres/Execution Context]]
Wyróżniamy trzy rodzaje kontekstu wykonania:
- Globalny - istnieje tylko jeden w programie [[Wiedza/Programowanie/JavaScript/JavaScript]]
- Funkcyjny - tworzony jest w chwili wykonania funkcji. Każda funkcja posiada swój kontekst wykonania.
- Eval - kod wykonywany wewnątrz funkcji Eval również posiada swój kontekst.
Konteksty wykonania przechowywane są w tzw. [[Execution Stack]] do którego domyślnie trafia Globalny kontekst a następnie według zasady LIFO (last in, first out), pozostałe konteksty zostają do niego dodawane oraz usuwane.
<iframe width="560" height="315" src="https://www.youtube.com/embed/Hb0RG60gwh8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>