1
resposta

Interação entre variais globais e locais

Olá, eu repairei que o Douglas colocou 2 variáveis com mesmo nome nessa parte do código:

if (pesoVal && alturaVal) 
    {
        var imc = calculaImc(tdPeso, tdAltura);
        tdImc.textContent = imc;    
    } else{
        tdImc.textContent = "ERROR";
        paciente.classList.add("error-paciente");
    }
}

function calculaImc(peso, altura) {
    var imc = 0;
    imc = peso/(altura*altura);
    return imc.toFixed(2);
}

existe alguma chance da função olhar pra variável global antes da local? se sim, existe alguma conversão (não lembro se é esse o nome certo) para diferenciar esses tipos de variáveis?

1 resposta

Joel, boa tarde!

Muito interessante sua pergunta, como esse é um curso de iniciação na programação, pra entender lógica e tudo mais, nós não mostramos os outros tipos de variáveis (até o momento ;) ) , mas, nós próximos cursos você verá que o uso do var pra declarar variáveis não é uma boa prática atualmente, isso porque ele deixa essa variável global, ou seja, todos os elementos podem usar essa variável e altera-la, por isso hoje nós usamos outros dois tipos que são let e const ambos são declarados apenas dentro do próprio escopo (por enquanto entenda como função). Vou deixar um exemplo.

function mostra(nome){
    let nomePraMostrar = nome //Essa variável existe dentro desse função
    console.log(nomePraMostrar) 
}
console.log(nomePraMostrar) // Isso não vai funcionar porque essa variável só existe dentro daquele escopo (função)

O mesmo serve para const porém o const uma vez depois de definido um valor não é possível alterar

Vou deixar uma recomendação de leitura se você quiser

https://medium.com/collabcode/javascript-e-suas-vari%C3%A1veis-var-let-e-const-b035b44c2dab

Espero ter ajudado e bons estudos!