1
resposta

variável global pode ter seu valor atribuido dentro de uma function

Tem como eu usar uma variável criada fora de uma function (criada por mim) e adicionar um valor à variável dentro da mesma? exemplo:

  var cor1 = " ";
  var cor2 = " ";
  var cor3 = " ";
  var cor4 = " ";
  function desenhaLegenda(frase, posicao, cor){
        var tela = document.querySelector("canvas");
        var pincel = tela.getContext("2d");

        var pos = posicao
        var eixoY = 0;

        pincel.font = '20px, Georgia';
        pincel.fillStyle = 'black';

        if(pos == 1){

              pincel.fillText(frase, 20, 360);
              eixoY = 360;
              cor1 = cor;
        }

        if(pos == 2){

              pincel.fillText(frase, 20, 370);
              eixoY = 360;
              cor2 = cor;
        }

        if(pos == 3){

              pincel.fillText(frase, 20, 380);
              eixoY = 360;
              cor3 = cor;
        }

        if(pos == 4){

              pincel.fillText(frase, 20, 390);
              eixoY = 360;
              cor4 = cor;
        }

        pincel.fillStyle = cor;
        pincel.beginPath(); 
        pincel.arc(10, eixoY, 3, 0, 2 * 3.14)
  }
1 resposta

Olá Wesley, tudo bem ?

Desculpe a demora em te dar uma resposta.

A variável global pode ter seu valor alterado em uma função sim, essa é justamente uma diferença em se declarar variáveis globais. Uma variável é global quando declaramos ela fora de qualquer função, dessa forma, ela pode ser acessada e alterada em qualquer parte do nosso código.Logo, Podemos utilizar funções para manipular os valores dessa variável.Diferente das variáveis locais, que são limitadas por escopo, ou seja, elas só “existem” dentro das chaves {}.

Mas, devemos ter um certo cuidado com o uso de variáveis locais, porque justamente as mesmas ficam acessíveis em todo o código e podem acabar sendo alteradas. Logo, podemos acabar tendo problemas de colisão em nosso código, que são problemas onde as variáveis acabam se subscrevendo.

Para complementar seus estudos, recomendo esse artigo da alura sobre Escopos no JavaScript.

Qualquer dúvida fico à disposição.

Abraço

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!