该问题源于表单提交(`
在使用 html 表单 + javaScript 实现简易计算器时,一个常见却容易被忽视的问题是:点击“=”按钮或切换运算符后,结果一闪而过随即消失。这并非 javascript 计算逻辑出错(控制台 console.log(r) 仍能正确输出),而是由
根本原因在于:
✅ 正确解决方案是 阻止表单默认提交行为。推荐做法如下:
将 action 设为 javascript:void(0)(如答案所示),彻底禁用跳转:
立即学习“前端免费学习笔记(深入)”;
更现代、语义更清晰的方式是移除 action 属性,并在 js 中显式阻止事件(推荐进阶写法):
document.getElementById('calcForm').addEventListener('submit', function(e) { e.preventDefault(); // 关键:阻止默认提交 Calculate(); });
⚠️ 额外重要提醒(安全与健壮性):
let r; switch(op) { case '+': r = n1 + n2; break; case '-': r = n1 - n2; break; case '*': r = n1 * n2; break; case '/': r = n2 !== 0 ? n1 / n2 : NaN; break; default: return; }
综上,修复核心仅需一行修改(action=”javascript:void(0)”),但结合安全计算、事件规范处理与输入防护,才能构建真正可靠、可维护的前端计算器。
collections.defaultdict 如何设置嵌套多层默认值(lambda 嵌套)
javascript如何操作canvas绘制图形【教程】