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

JavaScript实现美元兑换埃及镑功能代码不生效如何排查修复?

问题原因
  • 条件判断逻辑错误:判断数值大于0时直接使用DOM元素对象dollarInput和0比较,而非输入框的取值dollarInput.value,导致判断永远不成立,计算逻辑不会触发。
  • 缺少类型适配:输入框的value属性默认是字符串类型,虽然乘法运算会隐式转成数字,但判断数值有效性时建议显式转换,避免边界场景的类型错误。
  • 未处理异常场景:用户清空输入、输入负数/0时,没有重置结果展示,会残留上一次的计算结果。
正确实现代码

HTML代码

<form action="">
  <input type="number" name="dollar" placeholder="USD Dollar" />
  <div class="result">{0} USD Dollar = {0} Egyptian Pound</div>
</form>

JS代码

let dollarInput = document.querySelector("[name='dollar']");
let result = document.querySelector(".result");

dollarInput.addEventListener("input", () =>{
  // 显式将输入值转为数字
  const dollarVal = Number(dollarInput.value);
  // 判断是否为有效正数
  if(!isNaN(dollarVal) && dollarVal > 0){
     const eG = dollarVal * 15.6;
     result.textContent = `{${dollarVal}} USD Dollar = {${eG.toFixed(2)}} Egyptian Pound`;
  } else {
     // 输入无效时重置为默认展示
     result.textContent = "{0} USD Dollar = {0} Egyptian Pound";
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:36:02