Resumo : neste tutorial, você aprenderá sobre o contexto de execução do JavaScript para entender profundamente como o código JavaScript é executado.
Introdução ao contexto de execução JavaScript
Vamos começar com o seguinte exemplo:
let x = 10;
function timesTen(a){
return a * 10;
}
let y = timesTen(x);
console.log(y); // 100
Linguagem de código: JavaScript ( javascript )
Neste exemplo:
- Primeiro, declare a
x
variável e inicialize seu valor com10
. - Segundo, declare a
timesTen()
função que aceita um argumento e retorna um valor que é o resultado da multiplicação do argumento por10
. - Terceiro, chame a
timesTen()
função com o argumento como o valor dax
variável e armazene o resultado na variávely
. - Finalmente, envie a variável
y
para o Console .
Nos bastidores, o JavaScript faz muitas coisas. neste tutorial, você se concentrará nos contextos de execução.
Quando o mecanismo JavaScript executa o código JavaScript, ele cria contextos de execução.
Cada contexto de execução possui duas fases: a fase de criação e a fase de execução.
A fase de criação
Quando o mecanismo JavaScript executa um script pela primeira vez, ele cria o contexto de execução global. Durante esta fase, o mecanismo JavaScript executa as seguintes tarefas:
- Crie o objeto global , ou seja,
window
no navegador da web ouglobal
em Node.js. - Crie o
this
objeto e vincule-o ao objeto global. - Configure um heap de memória para armazenar variáveis e referências de funções .
- Armazene as declarações de função no heap de memória e variáveis dentro do contexto de execução global com os valores iniciais como
undefined
.
Quando o mecanismo JavaScript executa o exemplo de código acima, ele faz o seguinte na fase de criação:
- Primeiro, armazene as variáveis
x
ey
a declaração da funçãotimesTen()
no contexto de execução global. - Segundo, inicialize as variáveis
x
ey
paraundefined
.
Após a fase de criação, o contexto de execução global passa para a fase de execução.
A fase de execução
Durante a fase de execução, o mecanismo JavaScript executa o código linha por linha, atribui os valores às variáveis e executa as chamadas de função.
Para cada chamada de função, o mecanismo JavaScript cria um novo contexto de execução de função .
O contexto de execução da função é semelhante ao contexto de execução global. Mas em vez de criar o objeto global, o mecanismo JavaScript cria o arguments
objeto que é uma referência a todos os parâmetros da função:
Em nosso exemplo, o contexto de execução da função cria o arguments
objeto que faz referência a todos os parâmetros passados para a função, define this
o valor para o objeto global e inicializa o a
parâmetro como undefined
.
Durante a fase de execução do contexto de execução da função, o mecanismo JavaScript atribui 10
ao parâmetro a
e retorna o resultado ( 100
) ao contexto de execução global:
Para acompanhar todos os contextos de execução, incluindo o contexto de execução global e os contextos de execução de funções, o mecanismo JavaScript usa a pilha de chamadas , que você aprenderá no próximo tutorial.
Neste tutorial, você aprendeu sobre os contextos de execução do JavaScript, incluindo o contexto de execução global e os contextos de execução de funções.