Olá, Geraldo!
Quando você define uma função com parâmetros, como a função calculaImc(altura, peso)
no seu código, você está criando variáveis locais dentro dessa função que irão receber os valores que você passar quando chamar a função. Essas variáveis locais altura
e peso
só existem dentro do escopo da função calculaImc
.
Se você tiver variáveis globais chamadas altura
e peso
e passá-las para a função calculaImc
, a função usará os valores dessas variáveis no momento da chamada. A função não "sabe" de onde as variáveis vêm, ela simplesmente recebe os valores e os utiliza dentro do seu escopo.
Por exemplo, se você tiver o seguinte código:
var altura = 1.80;
var peso = 80;
function calculaImc(altura, peso) {
var imc = peso / (altura * altura);
mostra("O imc calculado é " + imc);
}
calculaImc(altura, peso);
Neste caso, quando você chama calculaImc(altura, peso);
, a função calculaImc
recebe o valor de 1.80
para o parâmetro altura
e 80
para o parâmetro peso
, independentemente dos nomes das variáveis globais. Dentro da função calculaImc
, as variáveis locais altura
e peso
são usadas para calcular o IMC.
Se você alterar os valores das variáveis globais altura
e peso
e chamar a função novamente, ela usará os novos valores:
altura = 1.65;
peso = 65;
calculaImc(altura, peso);
Agora, a função calculaImc
usará 1.65
para altura
e 65
para peso
ao calcular o IMC.
Lembre-se de que os nomes dos parâmetros dentro da função são locais a essa função e não precisam ser iguais aos nomes das variáveis globais. O que importa são os valores que você passa ao chamar a função.
Espero ter ajudado e bons estudos!