1
resposta

Função funcionando sem passagem de parâmetros

Olá professor. Estou gostando bastante do curso, meus parabéns. Você criou uma função para calcular o IMC e passou os parâmetros peso e altura. Eu fiz essa função sem a passagem de parâmetros e funcionou da mesma forma. Em que situação eu devo usar a passagem de parâmetros ?

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

Obs: Isso tbm aconteceu na função event.preventDefaul(), na qual eu não passei 'event' como parâmetro e funcionou da mesma forma. Aguardo sua resposta. Abraço!

1 resposta

Oi Pedro, tudo bem? Posso te ajudar com essa?

No geral, como boa prática, tudo que for externo a função, você deve sempre receber por parâmetro. Caso você não faça isso, o engine do javascript vai procurar as variáveis em outros escopos. No caso de peso e altura, elas existem fora da função calculaImc e por isso funciona.

Existem alguns conceitos um pouco complicados de explicar pra quem tá começando para explicar por que isso funciona.

A variável event se eu não me engano, é implícita. Se for, você não é obrigado a recebe-la por parâmetro, mas de novo, isso não é visto com bons olhos.