The answer
The function's arguments, its local variables, the return address (where to resume in the caller), and the value of this for that invocation.
The function's arguments, its local variables, the return address (where to resume in the caller), and the value of this for that invocation.
A LIFO data structure that tracks which function is currently running. Each function call pushes a frame, each return pops one. Only one function runs at a time.
Infinite or very deep recursion. Each call adds a frame to the stack without popping one, until the engine's maximum stack size is exceeded and a RangeError is thrown.
No. JavaScript is single-threaded, so the call stack has one active frame at a time. Other functions must wait for the current one to return.
Browse all our FAQs or reach out to our support team
Your learning library
Find your next course. Build something great.