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

我编写的checkDriverAge函数中prompt方法无法正常工作是什么原因?

代码无法运行的原因及修复方案
  • 核心问题是你仅完成了函数定义,没有主动调用checkDriverAge()函数,代码自然不会执行触发交互逻辑
  • 现有代码缺少非法输入兼容处理:如果用户在弹窗中输入非数字内容、点击取消/关闭弹窗,Number(age)会返回NaN,现有三个条件分支都无法命中,不会弹出任何提示

修复后的完整代码如下:

function checkDriverAge() {
    let age = prompt("What is your age?");
    // 处理用户取消输入/空输入的场景
    if (age === null || age.trim() === '') {
        alert("请输入有效的年龄值");
        return;
    }
    age = Number(age.trim());
    // 处理非数字输入的场景
    if (isNaN(age)) {
        alert("请输入合法的数字年龄");
        return;
    }
    if (age < 18) {
        alert("Sorry, you are too young to drive this car. Powering off");
    } else if (age > 18) {
        alert("Powering On. Enjoy the ride!");
    } else if (age === 18) {
        alert("Congratulations on your first year of driving. Enjoy the ride!");
    }
}
// 调用函数触发逻辑
checkDriverAge();

如果你不需要兼容异常输入场景,仅需要在原有代码的最后追加一行checkDriverAge()即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:09:00