Call stack

A call stack is a mechanism for an interpreter (like the JavaScript interpreter in a web browser) to keep track of its place in a script that calls multiple functions — what function is currently being run, what functions are called from within that function and should be called next, etc.

  • When a script calls a function, the interpreter adds it to the call stack and then starts carrying out the function.
  • Any functions that are called by that function are added to the call stack further up, and run where their calls are reached.
  • When the main function is finished, the interpreter takes it off the stack and resumes execution it left off in the main code listing.
  • If the stack takes up more space than it had assigned to it, it results in a "stack overflow" error.

Learn more

General knowledge

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, klez, SnehJain, Andrew_Pfeiffer
 Last updated by: chrisdavidmills,