Olá, pessoal!
Estou com algumas dúvida no trecho do código que diz respeito às series 2015 e 2016, serie[i] e serie.length.
Aqui está o trecho:
var serie2015 = [50,25,20,5];
var serie2016 = [65,20,13,2];
[...]
function desenhaBarra(x, y, serie, cores, texto) {
desenhaTexto(x, y - 10, texto);
var somaAltura = 0;
for (var i = 0; i < serie.length; i++) { //PRIMEIRA DÚVIDA
var altura = serie[i]; //SEGUNDA DÚVIDA
desenhaRetangulo(x, y + somaAltura, 50, altura, cores[i]);
somaAltura = somaAltura + altura;
}
}
desenhaBarra(50, 50, serie2015, cores, '2015');
desenhaBarra(150, 50, serie2016, cores, '2016');
Minhas dúvidas são:
Primeiro, o serie.length? Como funciona? Sei que se refere ao tamanho (.length) de algo chamado serie. Mas o que é essa serie? O código sabe de alguma forma que estamos nos referindo às variáveis serie2015 e serie2016? Ou nem estamos nos referindo às variáveis?
Segundo, a variável altura recebe a serie[i]. De onde vem "serie[i]"? Provavelmente seja uma alusão às listas(serie2015 e serie2016), por conta do '[i]', correto? Mas como o código sabe que estou me referindo a elas, se não está escrito series2015 e series2016? E por que o console não exibe erro de referência por conta da serie[i]? Me parece que ela não foi definida.
Terceiro, vi em outro post que, na verdade, a referência às variáveis serie2015 e serie2016 ocorrem na chamada da função "desenhaBarra(...,serie2015,...)". Então, se serie.length e serie[i] não se referem às listas? Se referem a que, então?
Agradeço desde já.
Abraço!