From 0f9005675ad4f997d21b0aefe3c6f8b9de072903 Mon Sep 17 00:00:00 2001 From: Lucas Santos <84853286+lucassantoswunder@users.noreply.github.com> Date: Sun, 19 Sep 2021 11:57:15 -0300 Subject: Ajuste no texto para fazer sentido. (#2461) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A tentativa de não utilizar a palavra função, fez com que o trecho do texto ficasse escrito de forma errada. --- files/pt-br/web/javascript/closures/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'files/pt-br/web') diff --git a/files/pt-br/web/javascript/closures/index.html b/files/pt-br/web/javascript/closures/index.html index 19db4a575b..00cbbe6231 100644 --- a/files/pt-br/web/javascript/closures/index.html +++ b/files/pt-br/web/javascript/closures/index.html @@ -52,7 +52,7 @@ myFunc();
Se você rodar este código o mesmo terá exatamente o mesmo efeito que o init()
do exemplo anterior: a palavra "Mozilla" será mostrada na caixa de alerta. O que é diferente - e interessante - é o fato de que a função interna do displayName()
foi retornada da função externa antes de ser executada.
Pode parecer não muito intuitivo de que o código de fato funciona. Normalmente variáveis locais a uma função apenas existem pela duração da execução da mesma. Uma vez que makeFunc()
terminou de executar, é razoável esperar que a variável name
não será mais necessária. Dado que o código ainda funciona como o esperado, este não é o caso.
Pode parecer não muito intuitivo de que o código de fato funciona. Normalmente variáveis locais de uma função, apenas existem pela duração de sua execução. Uma vez que makeFunc()
terminou de executar, é razoável esperar que a variável name
não será mais necessária. Dado que o código ainda funciona como o esperado, este não é o caso.
A solução para tal problema é que a função myFunc
tornou-se uma closure
. Uma closure (fechamento) trata-se de um tipo especial de objeto que combina duas coisas: a função e o ambiente onde a função foi criada. Este ambiente consiste de quaisquer variáveis que estavam no escopo naquele momento em que a função foi criada. Neste caso, myFunc
é a closure que incorpora tanto a função displayName
quanto a palavra Mozilla que existia quando a closure foi criada.