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

Dúvida quanto a serie

Uma coisa que não ficou clara para mim foi a declaração das variáveis series. Eu não consegui entender como o programa entende que o parâmetro serie se refere as series 2015 e 2016. Eu entendi que o javascript é sensível a leitura do que é escrito, mas isso não serie um problema para o programa? Como funciona a lógica dentro do estabelecimento de parâmetros dentro de uma função? Deixei uma parte do código comentada com a dúvida.

function desenhaBarra(x, y, serie, cores, texto) {

        desenhaTexto(x, y - 10, texto);

        var somaAltura = 0;
        for (var i = 0; i < serie.length; i++) {
            var altura = serie[i];
            desenhaRetangulo(x, y + somaAltura, 50, altura, cores[i]);// tem uma sequencia lógica estabelecida na biblioteca do js que diz que     os parâmetros tem de ser declarados nessa ordem? Se não, como funciona esta declaração dos parâmetros?
            somaAltura = somaAltura + altura;
        }
    }

    var cores = ['blue','green','yellow', 'red'];
    var serie2015 = [50,25,20,5];
    var serie2016 = [65,20,13,2];

    desenhaBarra(50, 50, serie2015, cores, '2015');
    desenhaBarra(150, 50, serie2016, cores, '2016');

</script>
2 respostas
solução!

Oii, Dev! Tudo bem por aí?

Entendi a sua dúvida. A declaração da variável "serie" na função desenhaBarra é uma forma de passar valores para a função. Quando você chama a função e passa a variável "serie" como parâmetro, o valor que está armazenado na variável é passado para a função e utilizado dentro dela.

No caso do código, a variável "serie" é um array que armazena as alturas das barras que serão desenhadas. Quando você chama a função desenhaBarra e passa a variável serie2015 e serie2016 como parâmetro, o valor que está armazenado nessa variável (o array com as alturas das barras de 2015 e 2016) é passado para a função e utilizado para desenhar as barras.

Veja o exemplo:

function desenhaBarra(x, y, serie, cores, texto) {

        desenhaTexto(x, y - 10, texto);

        var somaAltura = 0;
        for (var i = 0; i < serie.length; i++) {
            var altura = serie[i];
            desenhaRetangulo(x, y + somaAltura, 50, altura, cores[i]);
            somaAltura = somaAltura + altura;
        }
    }

    var cores = ['blue','green','yellow', 'red'];
    var serie2015 = [50,25,20,5];
    var serie2016 = [65,20,13,2];

    desenhaBarra(50, 50, serie2015, cores, '2015');
    desenhaBarra(150, 50, serie2016, cores, '2016');


Não há uma sequência lógica estabelecida na biblioteca do JavaScript que diz que os parâmetros devem ser declarados em uma ordem específica. Na verdade, a ordem em que os parâmetros são declarados na função pode ser definida pelo próprio Desenvolvedor que escreveu a função. No caso da função desenhaBarra, a ordem dos parâmetros é: x, y, serie, cores e texto.

Espero ter ajudado. Qualquer dúvida que surgir, estarei à disposição para te ajudar.

Bons estudos e a gente se vê!

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

Oi Nathalia, muito obrigado pelo esclarecimento.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software