July 21, 2023

EXECUTION CONTEXT

EXECUTION CONTEXT NIMA ?

Bu javascript koding ishlash jarayoni yoki qandaydir qiymatlarga ega (function, variables,object) kodning ishga tushushidir.

EXECUTION CONTEXT 2 ga bulinadi

1chi GLOBAL EXECUTION CONTEXT

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

EXERCUTON CONTEXT STACK

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

2chi jarayon: Scope chain

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

3chi jarayon:

this kalitini qiymatini belgilaydi

2chisi EXERCUTION PHASE

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