【发布时间】:2015-11-12 11:36:20
【问题描述】:
我必须为学校编写 6 个小的 JavaScript 脚本,除了这个之外,我已经让它们都工作了。
function calculate() {
var numbers = [
document.getElementById("num_one").value ,
document.getElementById("num_two").value ,
document.getElementById("num_three").value
];
var sum = numbers[0] + numbers[1] + numbers[2];
document.getElementById("display_sum").innerHTML = sum;
}
用户应该输入 3 个数字,点击一个按钮,它应该将它们全部加在一起或“求和”。
我的问题是,它只是将数字连接在一起而不是添加它们。有谁知道解决这个问题的方法吗?
【问题讨论】:
-
因为你要添加 3 个字符串值
-
输入将字符串作为值,您必须使用
parseFloat()或parseInt()将它们解析为数字 -
所以
var sum = +numbers[0] + +numbers[1] + +numbers[2]; -
或
var sum = 0; numbers.forEach(function (value) { sum += +value || 0; }); document.getElementById("display_sum").innerHTML = sum; -
请使用
numbers_1等,而不是numbers_one!更好的是,使用一个类来代替(或附加于)ID,这样一个选择器就可以找到你想要求和的所有元素
标签: javascript