Call stack

Call stack سازوکاری برای پیگیری function‌های در حال اجرا و محل ادامهٔ اجرای برنامه پس از پایان هر فراخوانی است.

توضیح

با هر فراخوانی function، اطلاعات آن فراخوانی بالای Call stack قرار می‌گیرد. اگر آن function، function دیگری را صدا بزند، فراخوانی تازه بالاتر قرار می‌گیرد و ابتدا همان اجرا می‌شود. با پایان هر فراخوانی، اطلاعاتش برداشته می‌شود و اجرا از محل توقف فراخواننده ادامه پیدا می‌کند؛ یعنی آخرین ورودی، اولین خروجی است. اگر فضای موردنیاز از ظرفیت Call stack بیشتر شود، خطای stack overflow رخ می‌دهد.

مثال

function sayHi() {
  return "Hi!";
}

function greeting() {
  return sayHi();
}

greeting();

چرا مهمه

هنگام بررسی خطاها و فراخوانی‌های تودرتو با Call stack روبه‌رو می‌شوی؛ کمک می‌کند بفهمی اجرا از چه مسیری به نقطهٔ فعلی رسیده و چرا فراخوانی‌های بیش‌ازحد ممکن است برنامه را متوقف کنند.

این کارت را هوش مصنوعی نوشته و دو بار با هوش مصنوعی بررسی شده است.

بر پایهٔ «Call stack» از MDN Web Docs (Mozilla Contributors)، با مجوز CC BY-SA 2.5. این کارت هم با همین مجوز منتشر شده است.

مطالبی با این مفهوم

هنوز مطلبی منتشر نشده.