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

JavaScript实现用户输入两数相乘校验结果功能运行异常如何解决?

代码存在的问题
  • 存在无效冗余代码:两段for (let i = 0; i > 1000; i++);循环没有任何业务作用,属于无用代码可直接删除
  • return语句位置错误:在范围判断逻辑前就执行了return (number_1 * number_2);,return之后的所有代码都不会被执行,告警逻辑完全没有运行机会
  • 未声明result变量:判断逻辑中使用的result没有被定义赋值,直接读取会触发运行时错误
  • 条件判断语法错误:else if (< 0)缺少比较对象,正确写法应为else if (result < 0)
  • 缺少结果回显逻辑:计算出乘积后没有赋值给页面上id为result的显示框,页面无法展示运算结果
  • 输入类型未做转换:input的value默认是字符串类型,虽然乘法会自动隐式转换,但显式转换可以避免异常输入产生NaN问题
修正后的代码

JS部分

function multiply() {
    // 显式将输入转换为数字类型
    var number_1 = Number(document.getElementById("number_1").value);
    var number_2 = Number(document.getElementById("number_2").value);
    var result = number_1 * number_2;
    
    // 范围判断触发告警
    if (result > 1000 || result < 0) {
        alert("Detta blev tyvärr fel!");
    }
    // 将结果写入页面显示框
    document.getElementById("result").innerText = result;
}

HTML部分无需修改,可直接使用原有代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 23:54:04