4
respostas

dúvida

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.

4 respostas

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)