JavaScript获取输入值计算结果始终为0问题求助
问题分析与解决方法
嘿,这问题我熟!你遇到的结果一直是0的问题,主要有两个核心原因:
- 变量名拼写错误:你声明的变量是
valOne和valTwo,但计算时却写成了valueOne和valueTwo——这俩属于未定义变量,JavaScript会把它们转成NaN,用+强制转数字时NaN会变成0,加起来自然就是0了。 - 获取输入值的时机不对:你现在是页面刚加载就获取输入框的值,这时候用户还没输入内容,拿到的是空字符串,转成数字也是0。得把获取值的逻辑放到点击事件的回调函数里,这样每次点按钮才会读取当前输入框的最新内容。
修正后的代码如下:
// 把事件监听逻辑前置,获取输入值的操作放到点击回调内 document.getElementById("add").addEventListener("click", function add(){ // 每次点击时读取输入框的当前值 var valOne = document.getElementById("value1").value; var valTwo = document.getElementById("value2").value; var added = +valOne + +valTwo; document.getElementById("display").innerText = added; });
这样修改后,每次点击按钮都会获取最新的输入内容,变量名也对应上了,就能得到正确的计算结果啦~
内容的提问来源于stack exchange,提问作者WashU
相关产品推荐
相关产品推荐

