Esta es mi solución.
<meta charset="UTF-8">
<h1>Calculadora IMC</h1>
<hr>
<script>
// Función que realiza un doble salto de linea.
function saltarLinea() {
document.write("<br>");
document.write("<br>");
}
// Función que imprime los datos y el resultado del IMC.
function imprimir(nombre, altura, peso, IMC) {
document.write("<h2>Datos</h2>");
document.write("Nombre: " + nombre);
saltarLinea();
document.write("Peso: " + peso);
saltarLinea();
document.write("Altura: " + altura);
saltarLinea();
var IMC = CalcularIMC(altura, peso);
document.write("El IMC es: " + IMC);
document.write("<hr>");
// Condicionales
if (IMC < 18.5) {
document.write("Esta bajo en peso");
} else if (IMC >= 18.5 && IMC <= 24.9) {
document.write("Su peso es normal");
} else if (IMC >= 25 && IMC <= 26.9) {
document.write("Tiene sobrepeso grado I");
} else if (IMC >= 27 && IMC <= 29.9) {
document.write("Tiene sobrepeso grado II");
} else if (IMC >= 30 && IMC <= 34.9) {
document.write("Tiene obesidad tipo I");
} else if (IMC >= 35 && IMC <= 39.9) {
document.write("Tiene obesidad tipo II");
} else if (IMC >= 40 && IMC <= 49.9) {
document.write("Tiene obesidad mórbida");
} else if (IMC >= 50) {
document.write("Tiene obesidad extrema");
}
document.write("<hr>");
}
// Función que calcula el IMC dada la altura y el peso.
/*
Math es un objeto que utiliza un método estático llamado pow el cual
eleva un numero (base) a una exponente y nos retorna su valor.
En este caso la altura (base) se eleva al cuadrado (exponente).
*/
function CalcularIMC(altura, peso) {
return peso / Math.pow(altura, 2);
}
// Se utiliza el método imprimir y se le pasan los parámetros requeridos.\
function DatosUsuario() {
Nombre = prompt("¿Cuál es tu nombre? ");
altura = parseFloat(prompt("¿Cuál es tu altura? "));
peso = parseInt(prompt("¿Cuál es tu peso en KG? "));
imprimir(Nombre, altura, peso);
}
DatosUsuario();
</script>