JavaScript é uma linguagem síncrona e de thread único que pode executar apenas um comando por vez. Ele passará para a próxima linha somente depois que a linha atual terminar sua execução. No entanto, o JavaScript pode realizar operações assíncronas usando um loop de eventos, Promises, Async/Await e fila de retorno de chamada (JavaScript é síncrono por padrão).
Como o código JavaScript é executado?
Tudo em JavaScript acontece dentro de um contexto de execução (pense nisso como uma grande caixa ou contêiner). Todo o código JavaScript é executado neste contexto de execução. Possui dois componentes: o componente de memória (o ambiente variável) e o componente de código (o thread de execução).
Primeiro, um contexto de execução global é criado. Dentro disso, cada função cria seu próprio contexto de execução.
Antes de qualquer linha de código ser executada, a memória é alocada para todas as variáveis e funções.
Como o código é executado após a alocação de memória?
O mecanismo JavaScript percorre todo o programa novamente (linha por linha) e executa o código.
Vejamos o seguinte exemplo:
function add(a,b){ var ans = a b; console.log(ans); } var addition = add(6,5);
Neste exemplo, primeiro é criado um contexto de execução global, que consiste em dois componentes: o Componente de Memória (MC) e o Componente de Código (CC).
Para funções, todo o código da função é armazenado na memória. Para variáveis, um valor especial, indefinido, é armazenado inicialmente.
Quando a função é invocada, outro contexto de execução é criado. No Componente de Memória, os valores dos parâmetros (a = 6, b = 5) são armazenados, enquanto variáveis como ans inicialmente mantêm o valor indefinido. No Componente Código, os valores do Componente Memória são usados para realizar a operação (a b = 6 5 = 11). O resultado é então impresso no console.
Espero que esta explicação esclareça o conceito. Se você tiver alguma dúvida ou correção, sinta-se à vontade para perguntar na seção de comentários.
Créditos a Akshay Saini (Consulte:[(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3