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