JavaScript es un lenguaje sincrónico de un solo subproceso que puede ejecutar solo un comando a la vez. Pasará a la siguiente línea sólo después de que la línea actual haya finalizado su ejecución. Sin embargo, JavaScript puede realizar operaciones asincrónicas usando un bucle de eventos, Promesas, Async/Await y una cola de devolución de llamada (JavaScript es sincrónico de forma predeterminada).
¿Cómo se ejecuta el código JavaScript?
Todo en JavaScript sucede dentro de un contexto de ejecución (piense en ello como una caja o contenedor grande). Todo el código JavaScript se ejecuta dentro de este contexto de ejecución. Tiene dos componentes: el componente de memoria (el entorno variable) y el componente de código (el hilo de ejecución).
Primero, se crea un contexto de ejecución global. Dentro de esto, cada función crea su propio contexto de ejecución.
Antes de ejecutar cualquier línea de código, se asigna memoria para todas las variables y funciones.
¿Cómo se ejecuta el código después de la asignación de memoria?
El motor JavaScript ejecuta nuevamente todo el programa (línea por línea) y ejecuta el código.
Veamos el siguiente ejemplo:
function add(a,b){ var ans = a b; console.log(ans); } var addition = add(6,5);
En este ejemplo, primero se crea un contexto de ejecución global, que consta de dos componentes: el componente de memoria (MC) y el componente de código (CC).
Para funciones, el código de función completo se almacena en la memoria. Para las variables, inicialmente se almacena un valor especial, indefinido.
Cuando se invoca la función, se crea otro contexto de ejecución. En el componente de memoria, los valores de los parámetros (a = 6, b = 5) se almacenan, mientras que las variables como ans inicialmente mantienen el valor indefinido. En el Componente de Código, los valores del Componente de Memoria se utilizan para realizar la operación (a b = 6 5 = 11). Luego, el resultado se imprime en la consola.
Espero que esta explicación aclare el concepto. Si tiene alguna pregunta o corrección, no dude en hacerla en la sección de comentarios.
Créditos a Akshay Saini (Consulte:[(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3