diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:45 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:45 -0500 |
commit | 1109132f09d75da9a28b649c7677bb6ce07c40c0 (patch) | |
tree | 0dd8b084480983cf9f9680e8aedb92782a921b13 /files/es/glossary/pila_llamadas/index.html | |
parent | 4b1a9203c547c019fc5398082ae19a3f3d4c3efe (diff) | |
download | translated-content-1109132f09d75da9a28b649c7677bb6ce07c40c0.tar.gz translated-content-1109132f09d75da9a28b649c7677bb6ce07c40c0.tar.bz2 translated-content-1109132f09d75da9a28b649c7677bb6ce07c40c0.zip |
initial commit
Diffstat (limited to 'files/es/glossary/pila_llamadas/index.html')
-rw-r--r-- | files/es/glossary/pila_llamadas/index.html | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/files/es/glossary/pila_llamadas/index.html b/files/es/glossary/pila_llamadas/index.html new file mode 100644 index 0000000000..f164d913ca --- /dev/null +++ b/files/es/glossary/pila_llamadas/index.html @@ -0,0 +1,92 @@ +--- +title: Pila de llamadas +slug: Glossary/Pila_llamadas +tags: + - Glosario + - JavaScript + - Pila de llamadas +translation_of: Glossary/Call_stack +--- +<p>Una <strong>pila de llamadas</strong> 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.</p> + +<ul> + <li>Cuando un script llama a una función, el intérprete la añade a la pila de llamadas y luego empieza a ejecutar la función.</li> + <li>Cualquier función o funciones que sean llamadas por esa función son añadidas arriba de la pila de llamadas y serán ejecutadas cuando su llamada sea alcanzada.</li> + <li>Cuando la función actual termina, el intérprete la elimina de la pila y reanuda la ejecución donde se quedó.</li> + <li>Si la pila necesita más espacio del que se le asignó, se producirá un error de "desbordamiento de pila".</li> +</ul> + +<h2 id="Ejemplo">Ejemplo</h2> + +<pre class="brush: js">function saludar() { + // [1] Código + diHola(); + // [2] Código +} +function diHola() { + return "!Hola!"; +} + +// Invocar la función `saludar` +saludar(); + +// [3] Código +</pre> + +<p>El código del ejemplo se ejecutaría de la siguiente manera:</p> + +<ol> + <li>Ignora todas las funciones hasta que alcanza la invocación de la función <code>saludar()</code>.</li> + <li>Añade la función <code>saludar()</code> a la lista de la pila de llamadas. + <div class="note"> + <p>Lista de la pila de llamadas:<br> + - saludar</p> + </div> + </li> + <li>Ejecuta todas las líneas de código de dentro de la función <code>saludar()</code>.</li> + <li>Llega a la incovación de la función <code>diHola()</code>.</li> + <li>Añade la función <code>diHola()</code> a la lista de la pila de llamadas. + <div class="note"> + <p>Lista de la pila de llamadas:<br> + - saludar<br> + - diHola</p> + </div> + </li> + <li>Ejecuta todas las líneas de código de dentro de la función <code>diHola()</code> hasta que llega al final.</li> + <li>Devuelve la ejecución a la línea que invocó a la función <code>diHola()</code> y continua con la ejecuación del resto de código de la función <code>saludar()</code>.</li> + <li>Elimina la función <code>diHola()</code> de la lista de la pila de llamadas. + <div class="note"> + <p>Lista de la pila de llamadas:<br> + - saludar</p> + </div> + </li> + <li>Cuando todo el código dentro de la función <code>saludar()</code> ha sido ejecutado, vuelve a la línea que la invocó y continua ejecutando el resto de código JavaScript.</li> + <li>Elimina la función <code>saludar()</code> de la lista de la pila de llamadas. + <div class="note"> + <p>Lista de la pila de llamadas:<br> + VACÍA</p> + </div> + </li> +</ol> + +<p>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.</p> + +<h2 id="Saber_más">Saber más</h2> + +<h3 id="Conocimiento_general">Conocimiento general</h3> + +<ul> + <li>{{Interwiki("wikipedia", "Pila de llamadas")}} en Wikipedia</li> +</ul> + +<section class="Quick_links" id="Quick_Links"> +<ul> + <li><a href="/es-ES/docs/Glossary">Glosario</a> + + <ul> + <li>{{Glossary("Call stack", "Pila de llamadas")}}</li> + <li>{{Glossary("function", "Función")}}</li> + </ul> + </li> +</ul> +</section> |