não sei pq meu código não funciona, algm pode me ajudar?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!!!!!