diff options
Diffstat (limited to 'files/es/glossary/pila_llamadas/index.html')
-rw-r--r-- | files/es/glossary/pila_llamadas/index.html | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/files/es/glossary/pila_llamadas/index.html b/files/es/glossary/pila_llamadas/index.html deleted file mode 100644 index f164d913ca..0000000000 --- a/files/es/glossary/pila_llamadas/index.html +++ /dev/null @@ -1,92 +0,0 @@ ---- -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> |