Eu gostaria de saber com mais detalhes o porque que a variavel raio dentro da função age de uma forma, e se colocar ela fora da função ela age de forma diferente, eu nao consegui entender muito bem a diferença. Obrigado.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Eu gostaria de saber com mais detalhes o porque que a variavel raio dentro da função age de uma forma, e se colocar ela fora da função ela age de forma diferente, eu nao consegui entender muito bem a diferença. Obrigado.
Oi Welliton.
Aqui nesse link tem uma explicação detalhada sobre escopo de variáveis, talvez te ajude: Entendendo o uso de escopo no JavaScript
Muito obrigado.
Welliton, eu fiquei com essa dúvida e percebi que quando a variável está dentro da função, ela vai obedecer os valores que a função vai executar, e quando a função parar ela também para de funcionar, já se você coloca a variável fora da função, ela vai funcionar do jeito dela independente da função, eu tive dificuldades com as variáveis tela e pincel que coloquei dentro de cada função para funcionar, depois percebi que colocando fora, todas as funções que eu criar eu posso só chamá-las e não declarar várias vezes.
Acabei de ter essa dúvida na variável raio, e pelo que entendi, quando você declara a variável raio fora da função, ela tem o valor de 10 e a função vai fazer aumentar o valor do raio cada vez que ela for ativada com a tecla SHIFT, fazendo com que o raio fique com o tamanho cada vez maior. Para fazer voltar ao tamanho normal eu usei um else no if para que considere o valor do raio inicial e não o acrescido.
Quando a variável raio é declarada dentro da função, o que acontece é que você declarou que ela vale 10, e quando clica esse valor é acrescido de 20, ficando com 30, quando você clicar de novo, ele vai ler de novo que o raio vale 10 e o SHIFT tá acrescendo 20, ficando com 30. Aqui quando você solta a tecla SHIFT ele volta a ser raio 10 novamente, sem necessidade de else para voltar ao tamanho normal (10)