4
respostas

É preciso em cada função inserir o var da tela e var do pincel?

Percebi que o professor inseriu nas duas duas funções as variáveis da tela e do pincel. Eu testei deixando elas de fora das funções e o programa rodou normal. Tem algum benefício colocar dentro da função ou não faz diferença?

Vejam no código que o professor postou ele declarando as variáveis 2 vezes, uma em cada função:

<!-- fracao.html -->

<meta charset="UTF-8">
<canvas width="700" height="500"></canvas>

<script>

    function desenhaQuadrado(x, y, tamanho, cor) {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle=cor;
        pincel.fillRect(x,y, tamanho, tamanho);
        pincel.strokeStyle='black';
        pincel.strokeRect(x,y, tamanho, tamanho);
    }

    function desenhaTexto(texto, x , y) {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.font='20px Georgia';
        pincel.fillStyle='black';
        pincel.fillText(texto, x, y);    
    }


    desenhaTexto("Qual é a fração?", 50, 30);

    var y = 50;
    desenhaQuadrado(50, y, 100, 'green');
    desenhaQuadrado(150, y, 100, 'green');
    desenhaQuadrado(250, y, 100, 'green');
    desenhaQuadrado(350, y, 100, 'white');

</script>
4 respostas

Eu realizei o teste retirando aqui e funcionou, pelo que entendi ela é uma variável global, então pode ser usada em todo programa sem ser necessária declara-la a cada vez que seja feito o uso, observe que ela foi declarada lá em cima. Mas por exemplo, se vc declara uma variável dentro de uma função, ela irá funcionar somente localmente, dentro da função.

Pois é, Fernanda.

por isso que nesse exemplo eu acho que essas duas variáveis, em específico, tem que ficar fora da função, pois elas é quem "criam" a tela e o pincel que serão usados no restante do código.

Perguntei, pq achei estranho declara essas duas dentro da função já que elas são importantes para todo o código.

Agradeço o retorno.

Sucesso na jornada!!

Também fiquei me perguntando isso, e vim no fórum pra tentar entender. Coloquei para acompanhar o tópico, vamos ver se alguém sana nossa dúvida.

Então,

Eu acho que não precisa sempre chamar essas 2 variáveis dentro da função, pois seriam, como a Fernanda falou, uma função que será usada por todos os outras funções, códigos e outros relacionados a esse canvas.

Eu uso o fórum como tentativa e erro para ver o que outros fizeram e que eu não tinha visto por tal prisma ou feito de tal maneira. Falo que não podemos achar que vamos obter a resposta correta aqui, pois eu mesmo poderia falar que o que falei seria o correto, mas quem sou eu para afirmar isso? kkk

Então, não levo tudo como verdade. Se eu ver que tem sentido lógico e faz sentindo para mim vou levar em consideração, mas se persistir alguma dúvida eu vou no pai Google, pesquiso e vejo se tem um padrão, um consenso e assim vai.

Espeto ter ajudado. Sucesso na sua jornada!!