não sei pq meu código não funciona, algm pode me ajudar?
não sei pq meu código não funciona, algm pode me ajudar?
Pedro para te ajudar precisa me mostrar o seu código, aparentemente esqueceu de botar na pergunta
Boa noite. Galera, onde eu tô errando?
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
function calculaImc (altura, peso) {
var imc = peso / (altura * altura);
mostra("O imc calculado é ", + imc);
}
calculaImc(1.71, 73);
calculaImc(1.72, 68);
</script>
Não imprime o cálculo no navegador!!
Obrigado!
Bom dia.
Depois de consultas à biblioteca JS, e alguns ajustes, descobri o problema. O mais comum é o erro de CONCATENAÇÃO de string com variável numérica. Na chamada da função* 'mostra', na função 'calculaImc', como o JS estava lendo em ("O imc calculado é" + imc) como uma c o n c a t e n a ç ã o de strings, não exibia o resultado do calculo. Verificando no console do Chrome (F12), além deste erro, ainda reclama a declaração da Variável IMC. Por essa razão fiz essa solução, olhando o manual MDN (Mozilla) ele recomenda o uso do let e a declaração prévia da variável com valor UNDEFINED: A solução ficou assim:
<meta charset="UTF-8">
<script>
let altura = undefined;
let peso = undefined;
let imc = peso / (altura * altura)
function pulaLinha() {
document.write("<br>");
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
function calculaImc (altura, peso) {
let imc = peso / (altura * altura);
mostra("O imc calculado é " + imc);
}
calculaImc(1.71, 73);
calculaImc(1.72, 98);
</script>
Mas, de forma simplificada, respeitando apenas a questão da concatenação na função MOSTRA, basta fazer isso, sem alterar o code do Flávio:
function calculaImc (altura, peso) {
var imc = peso / (altura * altura);
mostra("O imc calculado é " + (imc));
}
...
sem a necessidade de declarar previamente peso, altura e imc. ...
Obrigado, Jesus!!!!!