Naučte se

Jak se spouští JavaScript

Jedna z jeho výhod oproti tehdejším jazykům (např. C nebo Java) bylo to, že je interpretovaný, což znamená, že se nemusí před spuštěním zvlášť kompilovat.

Symboly, slova a fráze, které píšeme v textovém editoru, nejsou ve skutečnosti ve formě, které by počítač přímo rozuměl. K nějakému procesu překladu z principu musí z principu docházet. Kompilaci neprovádí programátor spuštěním kompilátoru, nýbrž program, ve kterém se zdrojový kód spouští - zpravidla prohlížeč.

Co se tedy interně děje, když se spustí JavaScript? Proces spouštění kódu má dvě části, které tvoří „prostředí“, ve kterém se kod vykonává tzv. „execution context“.

Vlákno (thread of execution)
Prostředí
Proměnné prostředí

Vlákno

První částí je vlákno, které je vytvořené programem, které se snaží interpretovat jazyk. Javascript je synchronní, což znamená, že náš kód interpretuje řádek po řádku, od shora dolů. Tedy přečte první řádek a vykoná cokoliv co přikazuje. Po té, vezměte řádek dva a udělá to co říká a tak dále.

Při deklaraci proměnné, ukládáme její hodnotu a název do paměti, u funkce (pokud ji zrovna nevoláme), ukládáme název funkce s tělem funkce do paměti.

Při volání funkce, vytváříme nový kontext.

Paměť

Paměť je místo kam počítač ukládá data. V případě interpreteru mluvíme spíš o proměnném prostředí (variables enviroment). Jde o vyhrazený prostor pro program v hlavní paměti, kam tento program může ukládat data. Vlákno postupně ukládá do zásobníku paměti deklarovné proměnné, těla funkcí a pak výsledek po zavolání funkce.

Kontext

Kontext je prostor ve kterém něco děláme, tedy v našem případě v něm provádíme náš kód. Když klient interpretuje náš kód, první věc, kterou udělá, je vytvoření globálního prostředí. Kdykoli však chceme spustit další kód, například kód uvnitř funkce, vytvoříme malý kontext lokální.

Lokální kontext

V lokálním kontextu nejprve ukládáme parametry funkce a lokální proměnné.

Garbage Collector

Související