Em JavaScript, há duas fases do Contexto de execução global:
Na fase de criação, as declarações relacionadas a variáveis e funções são deslocadas para o topo do escopo, conhecido como “Elevação““. Também é considerado o comportamento padrão do JavaScript.
Esta posta. Então vamos começar!
Içar variável em javascript
O mecanismo JavaScript move automaticamente as declarações variáveis para o top do programa ou script. Este processo é conhecido como “Elevação variável”.
Exemplo: içar variável em JavaScript
No exemplo abaixo, declaramos uma variável chamada “número”E inicializou seu valor“4“, Mas antes disso, estamos referenciando o“número”Variável através da“console.registro()”Método:
console.log (número);Nesse caso, o “número”A declaração variável é movida automaticamente para o top do script. Essa é a razão pela qual a execução do fornecido não encontrou nenhum erro:
Em termos de sintaxe, o código na fase de execução se parece com o seguinte:
número var;Então, o que aconteceu em segundo plano? O mecanismo JavaScript alocou a memória para o “número”Variável durante a fase de criação de contexto de execução global e, em seguida, define seus valores como“indefinido”.
Deixe a palavra -chave içar em JavaScript
Em JavaScript, as variáveis definidas com o “deixar”A palavra -chave é içada no topo do roteiro, mas o motor não as inicializa. O bloco de código conhece a variável definida; No entanto, não pode ser utilizado até que declaremos a variável especificada.
Exemplo: deixe a palavra -chave içar em JavaScript
Vamos declarar o mesmo “número”Variável usando a“deixarPalavra -chave:
número = 6;O código fornecido gerará um “ReferenceError" que o "número”A variável não está definida:
O encontrado “ReferenceError”Também significa que o“número”A variável é colocada na memória da heap, mas ainda não foi inicializada.
Vamos tentar acessar uma variável “alfa”Isso não existe na memória. Nesse caso, a saída mostrará outro “ReferenceError" que o "alfa”A variável não está definida:
console.log (alfa);Saída
Agora, vamos verificar como o motor JavaScript lida com a função iça.
Função içando em JavaScript
As declarações de função também são deslocadas para o topo do script pelo mecanismo JavaScript. Semelhante às variáveis, o JavaScript oferece a funcionalidade para içar declarações de função.
Exemplo: Função içando em JavaScript
No exemplo seguinte, o “adicionar()”A função é invocada antes de adicionar sua definição:
Deixe A = 45,No entanto, o programa ainda gera o valor retornado pelo “adicionar()”Função:
Quando o exemplo dado é executado, o mecanismo JavaScript aloca memória para a declaração do “adicionar()”Função. Mais especificamente, um javascript “Objeto”É criado de acordo com o tipo de“adicionar()”Tipo de função e também adiciona um“Referência da função"Chamado"adicionar,”Que aponta para o objeto criado.
Então, tecnicamente, no mecanismo JavaScript, o exemplo acima é executado da seguinte forma:
função add (x, y)Saída
Ambos os programas fornecidos geraram a mesma saída. Agora, vamos tentar içar Expressões de função em javascript.
Expressões de funções içando em JavaScript
Em um Expressão da função JavaScript, Uma variável é inicializada com um valor de função. Como resultado, a variável nomeada é apenas içada, não sua função.
Exemplo: Expressões de função içando em JavaScript
Vamos mudar nosso regular “adicionar()”Função para um“expressão da função”:
var add = function add (x, y)Desta vez um “TypeError”Aparecerá na janela do console informando que“adicionar”Não é uma função:
Nós enfrentamos o acima mencionado “TypeError”Porque o mecanismo JavaScript colocado“adicionar" como um "variável”Na memória, não como uma função.
Tudo isso era informações críticas relacionadas a Elevação em JavaScript. Você pode explorar ainda mais este tópico de acordo com suas preferências.
Conclusão
Elevação em JavaScript é suportado para variáveis e Declarações de funções. Na fase de criação do contexto de execução global, a declaração relacionada a variáveis e funções é movida para o topo do escopo. Dessa maneira, um lugar na memória é alocado para os dois, permitindo -nos utilizar variáveis e funções antes da declaração. Esta redação explicou a eleição em JavaScript junto com exemplos adequados.