You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript新手编写BMI计算器代码无法运行,如何排查错误?

代码问题修复说明

核心错误点

  • 语法错误:获取体重、身高的两行代码括号未正确闭合,会直接导致JS解析报错无法执行
  • 逻辑错误:document.getElementById()仅能获取输入框DOM对象,需要追加.value属性才能拿到用户输入的实际值,否则直接转数字会得到NaN,后续计算全部失效

修复后完整JS代码

function berekenBMI() {
  // 补全括号、添加.value获取输入值
  var gewicht = Number(document.getElementById("gewicht").value); // 体重
  var lengte = Number(document.getElementById("lengte").value); // 身高

  // 额外增加输入合法性校验,避免非数字/无效值导致计算异常
  if (isNaN(gewicht) || isNaN(lengte) || gewicht <= 0 || lengte <= 0) {
    document.getElementById("output").innerHTML = "无效输入";
    document.getElementById("comment").innerHTML = "请输入正确的体重和身高数值";
    return;
  }

  var BMI = gewicht / Math.pow(lengte, 2); // BMI计算公式
  document.getElementById("output").innerHTML = Math.round(BMI * 100) / 100;

  if (BMI < 18.5) document.getElementById("comment").innerHTML = '5';
  if (BMI >= 18.5 && BMI < 25) document.getElementById("comment").innerHTML = '2';
  if (BMI >= 25 && BMI <= 30) document.getElementById("comment").innerHTML = 'geen';
  if (BMI > 30) document.getElementById("comment").innerHTML = 'nooit geen';
}

其他说明

原有HTML代码无需修改,替换JS部分即可正常运行。额外增加的输入校验逻辑可以避免用户输入空值、负数、非数字内容时页面显示异常的问题,你可以根据需要选择是否保留。

内容的提问来源于stack exchange,提问作者Jesse Koops

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:15:00