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

修改JS温度转换函数最后分支,实现无效unit参数正确返回

修复JavaScript温度转换函数的无效参数处理问题

问题根源

原函数的最后分支else if (unit = '')存在两个致命问题:

  • 使用**赋值运算符=**而非严格比较运算符===,这会把空字符串赋值给unit,而非判断其值
  • 仅匹配空字符串,无法覆盖'x'这类其他无效单位,导致这类输入触发不了错误分支,最终返回undefined

修复方案

直接用else分支兜底处理所有不符合'f'或'c'的输入,确保任何无效参数都能返回预设的错误提示:

function convertToTemperature(value, unit) {
  // 华氏转摄氏
  if (unit === 'f') {
    return ((value - 32) * 5/9).toFixed(2) + '°C';
  }
  // 摄氏转华氏
  else if (unit === 'c') {
    return ((value * 9/5) + 32).toFixed(2) + '°F';
  }
  // 兜底处理所有无效单位(包括空字符串、'x'等)
  else {
    return '无效的温度单位,请输入"c"或"f"';
  }
}

关键修改说明

  1. 移除了错误的else if (unit = '')分支,改用else直接承接所有未被前两个条件匹配的情况,覆盖范围更广
  2. 避免了赋值操作的低级错误,同时无需单独判断空字符串,else已经包含这类场景
  3. 确保所有无效输入(无论是什么值)都会返回明确的错误提示,不会再出现undefined

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:07:05