Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

145
Visualizações
¿Cómo Call Stack of JS sabe dónde continuar?

Quiero saber cómo funciona la pila de llamadas después de que aparece una.

Por ejemplo:

 function inner() { console.log("what happens after inner() pops at Call Stack?"); } function outer() { inner(); console.log("how can Call Stack returned to this line?"); } outer();

Puedo decir eso en Call Stack:

  • al principio hemos empujado al outer() ,
 TOP of Call Stack ---------------- outer() // not executed. so lets begin at line 1! ---------------- BOTTOM of Call Stack
  • y ahora nos encontramos con inner() en la primera línea de outside() y lo empujamos a Call Stack,

entonces tenemos

 TOP of Call Stack ---------------- inner() // not executed yet! outer() // line 1 is on… ---------------- BOTTOM of Call Stack
  • y cuando se ejecuta console.log de inner() , inner() finaliza,
  • y la pila de llamadas aparece inner() ,

entonces tenemos

 TOP of Call Stack ---------------- outer() // line 1 is executed. let's continue with line 2! ---------------- BOTTOM of Call Stack

Pero, ¿CÓMO SABE LA PILA DE LLAMADAS DÓNDE CONTINUAR cuando regresan al outer() ? ¿Cómo puede outer() en la parte superior de la pila no reiniciarse en la primera línea? ¿Recuerdan algunas cosas como el puntero (que señala la línea de función externa)? pero en donde? ¿Qué pasa si la función recursiva sucede como 100 veces, entonces cuando tenemos 100 pilas, donde recuerdan todas las posiciones donde continuar?

Gracias por su ayuda.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La pila de llamadas no solo almacena la función a la que regresar, sino también la ubicación particular dentro de esa función.

También almacena los valores de las variables locales dentro de la función. Esto es esencial para que las funciones recursivas funcionen correctamente.

Tenga en cuenta que todo esto es un detalle de implementación de la VM de JavaScript y podría implementarse de varias maneras. Por ejemplo, la ubicación de retorno podría ser una dirección de memoria después de compilar JIT el JavaScript en código de máquina. O la función podría estar en línea, sin dejar ningún marco de pila.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda