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:
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)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)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.