مدلهای همزمانی جاوا اسکریپت: حلقه رویداد

عکس پروفایل نویسنده

@موزیلاهمکاران Mozilla

Mozilla (به سبک moz: // a) یک جامعه نرم افزار آزاد است که در سال 1998 توسط اعضای Netscape تاسیس شد.

جاوا اسکریپت دارای یک مدل همزمانی مبتنی بر حلقه رویداد، که مسئول اجرای کد ، جمع آوری و پردازش رویدادها و اجرای کارهای فرعی صف است. این مدل با مدلهای دیگر زبانها مانند C و Java کاملاً متفاوت است.

مفاهیم زمان اجرا

بخشهای زیر یک مدل نظری را توضیح می دهد. موتورهای مدرن جاوا اسکریپت معانی معنایی توصیف شده را پیاده سازی و بهینه سازی می کنند.

نمایش بصری

پشته

فراخوانی عملکردها پشته ای از تشکیل می دهد قاب ها.

function foo(b) {
  let a = 10
  return a + b + 11
}

function bar(x) {
  let y = 3
  return foo(x * y)
}

console.log(bar(7)) //returns 42

هنگام تماس

bar

، اولین قاب حاوی

bar's

استدلال ها و متغیرهای محلی. چه زمانی

bar

تماس می گیرد

foo

، یک قاب دوم ایجاد می شود و در بالای قاب اول قرار می گیرد

foo

استدلال ها و متغیرهای محلی. هنگام بازگشت foo ، عنصر فریم بالایی از پشته بیرون می آید (فقط ترک می شود)

bar

قاب تماس). چه زمانی

bar

برمی گردد ، پشته خالی است.

پشته

اشیا در یک انبوه اختصاص می یابند که فقط یک نام برای نشان دادن یک منطقه بزرگ (عمدتا بدون ساختار) حافظه است.

صف

زمان اجرای جاوا اسکریپت از یک صف پیام استفاده می کند ، که لیستی از پیام های پردازش می شود. هر یک…

سئو PBN | خبر های جدید سئو و هک و سرور