Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

document.querySelector() e getContext() ficam melhores dentro ou fora das funções?

olá, tenho dúvidas quanto ao uso desses métodos: faz diferença se eles ficam dentro ou fora da função? quando ficam fora, há problema em usar as variáveis às quais eles foram atribuídos em várias diferentes funções?

3 respostas
solução!

Boa noite, Claudio! Como vai?

Nesse primeiro momento onde vc está aprendendo os fundamentos da programação não haverá problema!

No entanto, no JavaScript nós só temos dois tipos de escopos: o global e o funcional!

Ou seja, tudo que está fora de uma função está em escopo global e, portanto, pode ser utilizado e alterado em qualquer parte do seu código, inclusive dentro de qualquer função! Sendo assim, coisas em escopo global são difíceis de dar manutenção justamente pq qualquer parte do nosso código pode alterá-las.

Por outro lado, tudo que for declarado dentro de uma função só terá vida dentro dessa função! Sendo assim, sua manutenção é mais fácil.

Sendo assim, se vc quiser seguir logo de cara as boas práticas, o ideal seria fazer algo desse tipo:

<canvas width="600" height="400"></canvas>
<script>
    function pegaPincel() {
        var tela = document.querySelector("canvas");
        var pincel = tela.getContext("2d");

        return pincel;
    }

    var pincel = pegaPincel();
</script>

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!

muito obrigado, Gabriel!

Por nada, Claudio! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos!