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

JavaScript实现prompt触发alert功能遇语法错误求排查

原代码存在的问题

  • 没有存储prompt()返回的用户输入内容,所有判断逻辑都是针对预先写死的固定字符串,完全没有用到用户的实际回答
  • 回调函数callback仅在if分支内定义,else分支调用setTimeout时会因为找不到callback变量抛出引用错误
  • callback函数的结束大括号漏写,存在语法错误
  • 逻辑分支完全错位,判断用户输入是否匹配的逻辑写反了位置
  • 大小写判断重复冗余,不需要单独定义两个变量处理大小写

修改后可直接运行的代码

// 获取用户输入的内容并去除首尾空格
const userInput = prompt("What's your name?")?.trim()

if (userInput) {
  // 不区分大小写匹配用户输入
  if (userInput.toLowerCase() === "griffin") {
    const callback = function() {
      alert("Oh hi! " + userInput)
    }
    // 匹配成功延迟1秒弹出提示
    setTimeout(callback, 1000)
  } else {
    // 输入内容不匹配时弹出提示
    alert("Then whats your name if it's not Griffin?")
  }
} else {
  // 用户点取消或者输入为空时的处理,可按需调整
  alert("请输入你的名字")
}

功能说明

  • 首先获取用户在prompt弹窗输入的内容,做去空处理
  • 不区分大小写判断用户输入是否为Griffin,匹配成功的话延迟1秒弹出打招呼的提示
  • 输入其他内容的话直接弹出对应提示
  • 处理了用户点击取消或者输入为空的边界情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:57:04