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

Não estou entendendo muito bem a lógica da linguagem js.script. Alguém pode me ajudar?

Por que a 'var imc' precisa estar dentro da função 'Calcula média' e por que ela não pode ficar fora? Se o código é lido de cima para baixo, por que 'calculaimc' fica no final do código e não acima? Por que o mostra (document.write) fica dentro da função e não fora?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Boa tarde, Gustavo! No caso das funções em JavaScript elas não precisam ser colocadas em ordem para que sejam chamadas. O JavaScript está executando de cima para baixo normalmente. A diferença é que as funções só são executadas quando são chamadas como na linha 21 e 22. quando você coloca "calculaImc(1.71,73)" você está executando a função, então ela irá atrás dessa função no código, entrar nela e executar o que tem dentro. Se existir uma função sendo executada dentro de outra função ele faz o mesmo processo e assim vai, portanto, a ordem não iria diferenciar mesmo de vc trocasse a posição das funções.

A necessidade da variavel imc estar dentro da função calculaImc é porque ela precisa dos parâmetros altura e peso para realizar o seu cálculo. (Os parâmetros são os valores que você passa na função na hora de executar). No caso de "calculaImc(1.71, 73), a altura seria 1.71 e peso seria 73.

Nesse caso, o document.write está dentro da função pois ela só irá ser executada quando a função mostra() ou pulaLinha() forem chamadas. Se ficasse fora da função, ela iria ser executada toda vez que iniciasse o código. Porém, a intenção aí é executar somente quando essas funções que citei forem executadas.

Você me ajudou de+, obrigado de coração!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade