InterviewHubPRO
Section Overview
Q242

Question 242 of 521

Part 4: Prototypes, Object Methods & Event Loop (174 - 253)

46%
JavaScript Internals (521 Qs)•Part 4: Prototypes, Object Methods & Event Loop (174 - 253)

What is the call stack

Call Stack is a data structure for javascript interpreters to keep track of function calls(creates execution context) in the program. It has two major actions,

  1. Whenever you call a function for its execution, you are pushing it to the stack.
  2. Whenever the execution is completed, the function is popped out of the stack.

Let's take an example and it's state representation in a diagram format

javascript
  function hungry() {
    eatFruits();
  }
  function eatFruits() {
    return "I'm eating fruits";
  }

  // Invoke the `hungry` function
  hungry();

The above code processed in a call stack as below,

  1. Add the hungry() function to the call stack list and execute the code.
  2. Add the eatFruits() function to the call stack list and execute the code.
  3. Delete the eatFruits() function from our call stack list.
  4. Delete the hungry() function from the call stack list since there are no items anymore.

Screenshot