eolas/neuron/4e66db01-35b6-4b9c-aab8-2a0429e30df2/Call_stack.md
2024-11-14 14:15:53 +00:00

37 lines
911 B
Markdown

---
tags: [memory, javascript]
---
# Call-stack
A [stack](Stacks.md) data structure that holds the information of the functions
called within a program that allows transfer of the application control from
these functions to the main process after code inside the functions has been
executed.
## Example
```js
function greet(who) {
console.log("Hello " + who);
}
greet("Harry");
console.log("Bye");
```
### Breakdown
1. Interpreter receives call to `greet()`
2. Goes to the definition of this function (`function greet(who)...`)
3. Executes the `console.log` within this function
4. Returns to the location that called it (`greet("Harry")`)
5. Finds that there is nothing else to do in this function so moves to next
function: the `console.log("bye")`
6. Executes
7. Returns to line that called it. Finds nothing else to do. Exits program.
## Related notes
![Stack memory](static/Stack_memory.md)