EXECUTION CONTEXT
Bu javascript koding ishlash jarayoni yoki qandaydir qiymatlarga ega (function, variables,object) kodning ishga tushushidir.
EXECUTION CONTEXT 2 ga bulinadi
global execution context - bu global scope da elon qilanadiga barcha kodlarni ( yani hech qanaqa object yoki function ichida mavjud bolmagan) Javascript tomonidan ishlash jarayoni va shu narsani yodda tutishimiz kerakki JS da global yagona hisoblanadi chunki JS single-threaded ( yagona oqim) til hisoblanadi.Bu jarayon biz fileni browserga yuklagan paytimiz roy beradi
2chi FUNCTION EXECUTION CONTEXT
Function Exercution Context - bu bizning script kodimizda function elon qilingan bulsa JS ular uchun alohida Exrcution Context hosil qiladi, Global Exercution Context yagona bulsa Function Exercution Context kodimizda nechta bulsa shuncha marta hosil qilinadi
Exercution Context Stack -bu mahsus data structura xisoblanadi va LIFO(Last In First Out) tushunchasi asosida ishlaydi yani biror script yukl;anganda song browserga uni ishlash davomiyligi vaqtida exercution context ni oz ichida ishlatib beradi.
LIFO tushunchasi -bu Callstack ga birinchi joylanga malumot ohirgi bulib chiqadi degani
tassavur qiling sizda bir quti bor va siz shu qutiga ustma ust qandaydir bir jismlarni joylab chiqyapsiz har safar yangi jism uzidan oldin qutiga joylangan jism ustiga joylanadi, yani qut tubidagi jism tashqariga chiqishi uchun ohirgi joylangan jismdan boshlab barcha jismlar ketma ket qutidan olinishi kerak
PS:Faqat Callstackdan bu yo`l bilan malumotlarni olib bulamaydi
JS EXERCUTION CONTEXT FAZALARI (STEPS)
JS Exercution Context 2 ta yol bilan amalga oshiriladi:
1chisi Creation Phase - bu Creation Phase JS engine function chaqiriladi lekin hech qanaqa natija yoki output bizga qaytarmaydi, qaisqacha qilib aytganda bu jarayon kodni skanerlash qilishdir kodni kurib chiqadi. Bu jarayonda 3ta ish amalga oshiriladi.
1chi jarayon: Activation Objecect(Variable Object)noi yaratadi:
Activation Objecect bu o`z ichiga function argumentlari, variables va ichiki functionlar haqida ma`lumot saqlovchi mahsus object hisoblanadi
Scope chain - JS activation objectni yaratganidan so`ng , scope chain yaratadi - bu variables objectni o`z ichiga oluvchi hamda global exercution context da mavjud bo`lgan variables objectlarni ham o`z ichiga oladi.
Scope chain tarjimada= qamrov zanjiri
Scope chain yaratilgandan so`ng JS this kalit so`zininig qiymati belgiladi
this kalitini qiymatini belgilaydi
Exercution phase - bu jarayonda JS engine lar script dagi kodni yana bir marotaba skaner qiladi yani ko`zdan kechiradi va veriable objectlarga qiymat biriktirb chiqadi