Előző bejegyzésemben átmentem a "változó emelés"-en JavaScriptben. Mielőtt folytatná ezt a bejegyzést, olvassa el a „változó emelés” részt a jobb megértés érdekében.
A változódeklarációkhoz hasonlóan a függvénydeklarációk is felkerülnek. Az mit jelent? A végrehajtás megkezdése előtt a függvénydeklarációk tárolásra kerülnek a memóriában, és a végrehajtási fázisban a definíció vagy deklaráció előtt elérhetők. Lássunk egy példát.
Példa:
Itt a függvényt a deklaráció előtt hívjuk meg. Ez egy érvényes hívás a JavaScriptben, és hiba nélkül végrehajtódik. 10-et nyomtat a konzolra.
A memória létrehozási fázisában a JavaScript motor végigmegy a kódon, és ha beolvas bármilyen változódeklarációt vagy függvénydeklarációt, inicializálja azokat az alapértelmezett értékekkel. A JavaScript motor a változók alapértelmezett értékeként az undefined értéket tárolja, a függvényeknél pedig a teljes függvényblokkot alapértelmezett értékként. Hadd mutassam meg ezt egy példával.
1. példa:
A 2. ábrán az 1. és 4. sorban azt próbáljuk megnézni, hogy b és c mit tárol. Lásd a kimenetet a 3. ábrán.
A 3. ábrából megtudtuk, hogy az undefined és a function block a változók és a függvények deklarációinak alapértelmezett értékei. Lássunk még egy példát, szem előtt tartva ezt a koncepciót.
2. példa:
Kimenet:
Megvan? Ne aggódj, ha nem kaptad meg. Próbáljon ki több példát egyedül, adjon hozzá hibakeresőt minden sorhoz, és figyelje meg, hogyan változtatják meg a változók és a függvények az értékeiket végrehajtás közben.
Következtetés:
Emelési eszközök: A változó- és függvénydeklarációk a memória létrehozási fázisában kerülnek a memóriába, és hozzárendelődnek az alapértelmezett értékükhöz. Ez az oka annak, hogy a végrehajtási fázisban ezek a változók és függvények deklarálásuk előtt elérhetőek.
Remélem, ez a magyarázat segített megérteni az emelés fogalmát.
Köszönöm, hogy elolvasta :)