aboutsummaryrefslogtreecommitdiff
path: root/files/es/glossary/pila_llamadas/index.html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:45 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:45 -0500
commit1109132f09d75da9a28b649c7677bb6ce07c40c0 (patch)
tree0dd8b084480983cf9f9680e8aedb92782a921b13 /files/es/glossary/pila_llamadas/index.html
parent4b1a9203c547c019fc5398082ae19a3f3d4c3efe (diff)
downloadtranslated-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.html92
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>