JS Runtime / Execution context

BekmuhammadDev - Jun 20 - - Dev Community

JavaScript runtime bu JavaScript kodini ishlatish uchun zarur bo'lgan muhit yoki dvijok. Ushbu runtime muhitlari JavaScript kodini tahlil qiladi, va bajaradi.Javascript Browserda ishga tushadigan yagona til hisoblanadi.

Runtime turlari va ishlash muhiti:
1-Google chrome (Browser)

Brauzerlar JavaScript'ning asosiy runtime muhiti hisoblanadi. Har bir brauzer o'zining JavaScript dvijokiga ega:

  • Google Chrome: V8 dvijoki.
  • Mozilla Firefox: SpiderMonkey dvijoki.
  • Safari: JavaScriptCore (Nitro) dvijoki.
  • Microsoft Edge: Chakra eski versiyalar va V8 yangi versiyalar.

Brauzer JavaScript runtime muhitida JavaScript kodini HTML va CSS bilan birgalikda ishlatish mumkin.

2-Node.js

Node.js - server tomonda JavaScript ishlatish uchun runtime muhitdir. Bu muhit V8 dvijokiga asoslangan bo'lib, brauzerdan tashqarida ham JavaScript kodini bajarish imkoniyatini beradi.
Nodejs texnalogiyasi javascript codlarimini browserdan tashqarida ishga tushurib beradi.

  • Server skriptlar: HTTP serverlar, API'lar va boshqalar.
  • Asinxron ishlash: Node.js ning asinxron tabiati uni yuqori samarali va tezkor qiladi.
  • Katta ekotizim: Node.js uchun juda ko'p modullar va kutubxonalar mavjud.

Image description

Execution context

JavaScript dasturlash tilida execution context bu kodni bajarish uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga olgan muhitdir. Har bir bajariladigan kodning o'z execution contexti bo'ladi. Execution context quyidagi elementlarni o'z ichiga oladi:

  • Variable Object Bu yerda barcha o'zgaruvchilar, funksiyalar va argumentlar saqlanadi.
  • Scope Chain
    Scope chain o'zgaruvchilar va funktsiyalarni qidirish tartibini ifodalaydi. Har bir execution context o'z scope chainiga ega va bu scope chain tashqi parent execution contextlarining referencelarini o'z ichiga oladi.

  • this Keyword
    this kalit so'zi, execution contextga bog'liq holda har xil obyektlarga ishora qilishi mumkin.

Image description

Execution Context Turlari

JavaScriptda asosiy 2 hil turdagi execution context mavjud:

1-Global Execution Context:

Image description

Image description

2-Function Excution Context:

Image description

Image description
**
javascriptda global execution va function execution**

Image description

Execution context ishlash jarayoni:

Image description
Execution Context
JavaScript brauzerda ishlayotganida, uni to’g’ridan-to’g’ri tushuna olmasligi sababli uni mashina tushunadigan tilga aylantirish kerak ya’ni o’zi tushunadigan tilga. Brauzerning JavaScript engine(mexaniz)ni JavaScript kodiga duch kelganida, u biz yozgan JavaScript kodini “translation(tarjima)” qiladi va bajarilishini boshqaradigan maxsus muhit yaratadi. Bu muhit Execution context deb ataladi.

**Execution context global scope va function scope ga ega bo’lishi mumkin. JavaScript birinchi marta ishlay boshlaganida, u global scope yaratadi.

Keyin, JavaScript parse(tahlil) qilinadi va o’zgaruvchi va funksiya deklaratsiyasini xotiraga saqlaydi.

Nihoyat, kod xotirada saqlangan o’zgaruvchilar ishga tushiriladi.

Execution context - har bir block kod uchun JavaScript tomonidan ochiladigan ma’lumotlar bloki bo’lib, ayni damda ishlayotgan kod uchun kerak bo’ladigan barcha ma’lumotlarni o’zida jamlaydi. Masalan, o’zgaruvchilar/funksiyalar/this kalit so’zi

Image description

  • Creation phase - var bilan e’lon qilingan o’zgaruvchilarga undefined o’zlashtiriladi, let bilan e’lon qilingan o’zgaruvchilar esa uninitilized bo’lib turadi va funksiyalar o’qiladi.
  • Execution phase - o’zgaruvchilarga qiymat o’zlashtirilib, funksiyalar chaqiriladi.
. . . . . . . . . . . . . .