function = () => {
var info1 = parseInt(document.getElementById("info1").value);
var info2 = parseInt(document.getElementById("info2").value);
var res = Number(info1.value + info2.value);
var info3 = document.getElementById("info3");
info3 = Number(res);
}
现在我得到了警报的答案,但不是在info3
中。我在第三个输出中得到NaN
。我知道它不是一个数字的事情,但如何转换以便我在列中获得输出。
info1
和info2
已经具有元素的值。您错误地尝试再次访问该值,该值实际上不存在并提供undefined
。因此undefined + undefined
结果NaN
(非数字(。
此外,info3
引用元素,则必须使用value
属性将新值分配给元素。
请注意:function = () => {...
不是有效的语法。此外,由于输入值是字符串类型,因此在设置值之前将值转换为数字是没有意义的。
请尝试以下方法:
var myFunction = () => {
var info1 = parseInt(document.getElementById("info1").value);
var info2 = parseInt(document.getElementById("info2").value);
var res = info1 + info2;
var info3 = document.getElementById("info3");
info3.value = res; // Number(res) is meaningless here
}
如果是返回NaN
则将其设为 0
示例var info1= NaN|0
function = () => {
var info1 = parseInt(document.getElementById("info1").value) | 0;
var info2 = parseInt(document.getElementById("info2").value) | 0;
var res = Number(info1.value + info2.value) | 0;
var info3 = document.getElementById("info3");
info3 = Number(res) | 0;
}