¿Qué es la pila de llamadas en JavaScript?

¿Qué es la pila de llamadas en JavaScript?
Un motor JavaScript se considera un componente de software que ayuda a ejecutar el código JavaScript. Aunque los primeros motores JavaScript introducidos eran simplemente intérpretes, hoy son una brillante pieza de ingeniería que utiliza "Justo a tiempo"Compilación para aumentar el rendimiento.

Cubrir cada aspecto del motor JavaScript sería complicado; Sin embargo, hay algunas piezas menores en cada motor de JavaScript haciendo el trabajo duro detrás de escena. "Pila de llamadas"Es uno de esos componentes que nos permite ejecutar el código en un motor JavaScript sin problemas. Listo para saber más sobre Call Stack?

Este artículo discutirá Call Stack y su trabajo en JavaScript con la ayuda de un ejemplo adecuado. Entonces, comencemos!

¿Qué es la pila de llamadas en JavaScript?

JavaScript es un lenguaje único, ya que utiliza solo uno "Pila de llamadas"Para la gestión del"Global" y "Función" Contextos de ejecución. La pila de llamadas en JavaScript es un tipo de estructura de datos que mantiene las pistas de las funciones invocadas y ejecutadas.

Términos asociados con la pila de llamadas en JavaScript

Empujar, Estallido, y Arriba se usan los tres términos comúnmente mientras se discuten la pila de llamadas en JavaScript. Para saber más sobre estos términos, consulte la descripción dada:

  • Arriba: IIT comprende el elemento más superior de la pila de llamadas, que puede ser una llamada de función. Además, la pila de llamadas solo puede ejecutar la función que se ejecuta en la posición superior.
  • Empujar: En Call Stack, "Empujar"Se refiere a colocar algo en la parte superior. Por ejemplo, cuando se invoca una función en JavaScript, se crea su contexto de ejecución de funciones y la función especificada se empuja a la parte superior de la pila de llamadas.
  • Estallido: "Estallido"Es el proceso para sacar el elemento superior de la pila de llamadas. Por lo general, se produce una función cuando completa su ejecución, y luego el motor JavaScript reanuda su ejecución donde se quedó.

Principio básico de la pila de llamadas en JavaScript

La pila de llamadas se basa en el último en primer out (Lifo) Principio, que significa que la última función que se le presionó primero aparecerá cuando la función regrese o finalice su ejecución.

Ahora, comprendamos el funcionamiento de la pila de llamadas con la ayuda de un ejemplo.

Ejemplo: Cómo usar la pila de llamadas en JavaScript

En primer lugar, definiremos un "producto()"Función que comprende dos parámetros"X" y "Y":

Producto de funciones (x, y)
(return x * y);

A continuación, hemos agregado otra función llamada "info ()"Que invoca el"producto()"Funciona como su caso de retorno:

información de función (x, y)
consola.log ("El producto del número dado es:");
producto de retorno (x, y);

Por último, se crea una variable que llama el "info ()"Mientras pasa"3" y "6"Como argumentos y mostrar el valor devuelto en la ventana de la consola:

Deja que A = consola.registro (información (3, 6));

La salida del código mostrará "18"Como producto del"3" y "6"Números:

Dentro de unos pocos microsegundos, tenemos la salida del código proporcionado. Ahora investigaremos cómo el motor JavaScript funciona detrás de escena para este ejemplo particular.

Trabajo de la pila de llamadas en JavaScript

Cuando el código dado se carga en la memoria, la primera operación que realiza el motor JavaScript es la creación de Contexto de ejecución global. Después de hacerlo, un "global()" o "principal()"La función se agrega al arriba del Pila de llamadas para que ese script se pueda ejecutar fácilmente:

El contexto de ejecución global avanzará hacia el Fase de ejecución ejecutando el "info ()" Llamada de función. En este paso, el "info ()"La función se empuja al arriba de la pila de llamadas cuando se crea su contexto de ejecución de funciones:

Como puede ver, el "info ()"La función está en el arriba de la pila de llamadas, y ahora el motor JavaScript comenzará su ejecución:

Según el guión dado, el "info ()"La función invocará el"producto()"Función, por lo que el motor JavaScript creará otro Contexto de ejecución de funciones Por eso y luego empujar el "producto()"Función en el arriba posición:

En este punto, todas las funciones requeridas son empujado a la pila de clases en una secuencia particular, donde el "producto()"La función está en el arriba de la pila de clases:

Ahora, el motor JavaScript inicia la ejecución del "producto()"Función y establo sale de la pila de llamadas:

Después de completar la operación especificada, el motor JavaScript se ejecutará y salir el "info ()"Función que existe en el arriba de la pila de llamadas:

Tan pronto como la función de ejecución de info () se complete y Pila de llamadas se convierte en vacío, El motor JavaScript lo hará detener el ejecución y avanzar hacia las otras tareas de ejecución:

Hemos proporcionado toda la información básica relacionada con Call Stack y su trabajo en JavaScript. Puede explorarlo más de acuerdo con sus requisitos.

Conclusión

Pila de llamadas En JavaScript hay un tipo de estructura de datos que mantiene las pistas de las funciones invocadas y ejecutadas. Empujar, Estallido, y Arriba son los tres términos asociados con la pila de llamadas, donde la parte superior comprende el elemento superior de la pila de llamadas, el empuje se refiere a colocar algo en la parte superior de la pila de llamadas, y Pop es el proceso de sacar el elemento superior de ella. Este artículo discutió la pila de llamadas y su trabajo en JavaScript con la ayuda de un ejemplo adecuado.