--- title: Pila de llamadas slug: Glossary/Pila_llamadas tags: - Glosario - JavaScript - Pila de llamadas translation_of: Glossary/Call_stack ---
Una pila de llamadas es un mecanismo para que un intérprete (como el intérprete de JavaScript en un navegador web) realice un seguimiento de en que lugar se llama a múltiples {{glossary("function","funciones")}}, qué función se esta ejecutando actualmente y qué funciones son llamadas desde esa función, etc.
function saludar() { // [1] Código diHola(); // [2] Código } function diHola() { return "!Hola!"; } // Invocar la función `saludar` saludar(); // [3] Código
El código del ejemplo se ejecutaría de la siguiente manera:
saludar()
.saludar()
a la lista de la pila de llamadas.
Lista de la pila de llamadas:
- saludar
saludar()
.diHola()
.diHola()
a la lista de la pila de llamadas.
Lista de la pila de llamadas:
- saludar
- diHola
diHola()
hasta que llega al final.diHola()
y continua con la ejecuación del resto de código de la función saludar()
.diHola()
de la lista de la pila de llamadas.
Lista de la pila de llamadas:
- saludar
saludar()
ha sido ejecutado, vuelve a la línea que la invocó y continua ejecutando el resto de código JavaScript.saludar()
de la lista de la pila de llamadas.
Lista de la pila de llamadas:
VACÍA
En resumen, empezamos con una lista de la pila llamadas vacía. Cuando invocamos una función, ésta es automáticamente añadida a la pila de llamadas. Una vez ha ejecutado todo su código, también de manera automática es eliminada de la pila de llamadas. Finalmente, la pila de llamadas vuelve a estar vacía.