此代码应该通过乘以它们来计算两个用户输入。但是,输出始终为0而不是通常预期的输出,即5 * 5 = 0。我不确定为什么会这样。我没有正确地将变量传递给函数吗?我觉得我可能没有正确理解价值与参考(我目前正在学习javascript)
var x = document.getElementById("a").value;
var y = document.getElementById("b").value;
var button = document.getElementById("button");
button.addEventListener('click', function() {
calculator(x,y);
}, false);
function calculator(a,b) {
var output = a * b;
document.getElementById("answer").innerHTML = output;
console.log(output);
}
答案 0 :(得分:2)
省略值捕获,只需抓取元素:
var x = document.getElementById("a");
var y = document.getElementById("b");
然后使用值作为函数参数。
button.addEventListener('click', function() {
calculator(x.value, y.value);
}, false);
当它们为空时,你抓住这些值并将它们传递给函数。
答案 1 :(得分:0)
可能是脚本将值视为字符串,尝试使用parseInt(a)* parseInt(b)