--- title: Pila de llamadas slug: Glossary/Call_stack tags: - Glosario - JavaScript - Pila de llamadas translation_of: Glossary/Call_stack original_slug: Glossary/Pila_llamadas ---
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.