Javascript 我的条件如果没有执行。为什么?

Javascript 我的条件如果没有执行。为什么?,javascript,Javascript,在此函数中,如果出现以下情况,程序不希望执行我的条件。我愚蠢地试图将“else-if”中的“if”和“else-if”颠倒为“if”,但是,这当然不会改变任何事情 我想当输入值为时,您必须将字符串转换为数字 var userAmount5 = Number(document.getElementById("amount6").value); var userAmount6 = Number(document.getElementById("amount7").value); 假设您的输入是

在此函数中,如果出现以下情况,程序不希望执行我的条件。我愚蠢地试图将“else-if”中的“if”和“else-if”颠倒为“if”,但是,这当然不会改变任何事情


我想当输入值为时,您必须将字符串转换为数字

var userAmount5 = Number(document.getElementById("amount6").value);
var userAmount6 = Number(document.getElementById("amount7").value); 
假设您的输入是

var userAmount5 = document.getElementById("amount6").value; // 10
var userAmount6 = document.getElementById("amount7").value; // 20
然后你得到这个结果

userAmount5 + userAmount6 === '1020' // equals true
而不是你想象中的30岁

但是如果你先把字符串转换成数字,你就会得到想要的结果

Number(userAmount5) + Number(userAmount6) === 30  // equals true

document.getElementById(“id”)
。value将以字符串形式返回值,因此您可能需要将其转换为一个数字:
number(document.getElementById(“id”).value)

请尝试:

var userAmount5 = parseInt(document.getElementById("amount6").value);
var userAmount6 = parseInt(document.getElementById("amount7").value); 

您正在比较字符串和数字
Number(userAmount5) + Number(userAmount6) === 30  // equals true
var userAmount5 = parseInt(document.getElementById("amount6").value);
var userAmount6 = parseInt(document.getElementById("amount7").value);