Java Script Event Looping explicado en términos simples.

Nov 07 2022
Javascript es un lenguaje de programación síncrono de un solo subproceso. Es una de las tecnologías centrales de la World Wide Web, junto con HTML y CSS.

Javascript es un lenguaje de programación síncrono de un solo subproceso. Es una de las tecnologías centrales de la World Wide Web, junto con HTML y CSS. A partir de 2022, el 98 % de los sitios web usan JavaScript en el lado del cliente para el comportamiento de la página web, a menudo incorporando bibliotecas de terceros.

Suponiendo que estamos familiarizados con la semántica básica de Javascript, pasemos a nuestro tema principal de discusión, es decir , el bucle de eventos .

JavaScript tiene un modelo de tiempo de ejecución basado en un bucle de eventos , que es responsable de ejecutar el código, recopilar y procesar eventos y ejecutar subtareas en cola. Este modelo difiere de los modelos en otros lenguajes como C y Java.

Para comprender cómo funciona el bucle de eventos, debemos profundizar en los temas a continuación.

  1. memoria de pila
  2. Memoria de montón
  3. Cola
  4. Pila, montón y cola

Considere el siguiente código de ejemplo.

function add20(b) {
  const a = 20;
  return a + b;
}

function multiplyBy3(x) {
  const y = 3;
  return add20(x * y);
}

const ma = multiplyBy3(5); // assigns 35 to ma

      
                

  1. Al llamar multiplyBy3, se crea un primer marco que contiene referencias a multiplyBy3'sargumentos y variables locales.
  2. Cuando multiplyBy3se llama add20a , se crea un segundo marco y se coloca encima del primero, que contiene referencias a add20'sargumentos y variables locales.
  3. Cuando add20regresa, el elemento del marco superior se extrae de la pila (dejando solo multiplyBy3el marco de llamada).
  4. Cuando multiplyBy3regresa, la pila está vacía.

Heap Memory es solo una asignación de memoria aleatoria para objetos. En el ejemplo de código anterior, los parámetros de la función se almacenan en la memoria del montón y se eliminan hasta que la última referencia/marco de la función se elimine de la pila.

Una cola es un lugar donde el bucle de eventos JS busca mensajes y los coloca en la pila de ejecución de funciones cada vez que la pila de funciones se vacía. Este proceso continúa hasta que la cola de mensajes se vacía.

Para cada mensaje en la cola, se carga una pila con marcos de función y se vacía para los mensajes en la cola (si hay uno) .

Bucle de eventos

El bucle de eventos obtuvo su nombre debido a la forma en que se implementa generalmente, que generalmente se parece a:

while (queue.waitForMessage()) {
  queue.processNextMessage();
}

Muchas gracias por leer esto y por favor sigan apoyando y compartiendo su amor.

© Copyright 2021 - 2022 | unogogo.com | All Rights Reserved