简单的JavaScript数学没有意义

简单的JavaScript数学没有意义,javascript,math,Javascript,Math,我觉得我又是个新手了。我以为我早已克服了这些问题。下面是一个带有两个函数的简单脚本,这两个函数都不起作用。我错过了什么。谢谢你的帮助 函数计算器(){ var bee=document.getElementById(“beerPerc”).value; var win=document.getElementById(“winePerc”).value; var liq=100-(bee+win); document.getElementById(“LiquiorPerc”)。值=液体; } 函

我觉得我又是个新手了。我以为我早已克服了这些问题。下面是一个带有两个函数的简单脚本,这两个函数都不起作用。我错过了什么。谢谢你的帮助

函数计算器(){
var bee=document.getElementById(“beerPerc”).value;
var win=document.getElementById(“winePerc”).value;
var liq=100-(bee+win);
document.getElementById(“LiquiorPerc”)。值=液体;
}
函数计算器2(){
document.getElementById(“LiquiorPerc”).value=parseInt(100-(document.getElementById(“beerPerc”).value+document.getElementById(“winePerc”).value))
}

%啤酒饮用者人数
%葡萄酒饮用者人数
%饮酒者的数量
两件事:

  • 这一案例意义重大。如果声明变量
    bee
    ,则无法使用
    bee
    读取该变量

  • .value
    始终是字符串。您需要将字符串转换为数字:

    var bee = Number(document.getElementById("beerPerc").value);
    
  • 如果不这样做,
    +
    将执行字符串连接,而不是加法

    您不需要对数值计算的结果调用
    parseInt()
    ,它始终是一个数字

    function calculator2() {
        document.getElementById("liquorPerc").value = 100 - (parseInt(document.getElementById("beerPerc").value, 10) + parseInt(document.getElementById("winePerc").value, 10)))
    }
    

    “不工作”是什么意思?请告诉我们你对剧本有什么期待,以及它的实际表现如何。感谢巴尔马对规则的重新审视。非常感谢