该程序继续执行其他 if 语句
The program keeps doing other if statements
我正在构建一个计算器应用程序,当我想使用另一个数学表达式时,它不起作用。我想做减法,它做加法,就好像程序没看到其他if语句一样。
function Output(a) {
window.alert(a)
}
expression = window.prompt("what expression do you want to use? addition/subtraction/multiplication or divison");
if (expression = "addition") {
additionValue1 = window.prompt("Value1: ");
additionValue2 = window.prompt("Value2: ");
Output(parseInt(additionValue1, 10) + parseInt(additionValue2, 10));
}
if (expression = "subtraction") {
subtractionValue1 = window.prompt("Value1: ");
subtractionValue2 = window.prompt("Value2: ");
Output(parseInt(subtractionValue1, 10) - parseInt(subtractionValue2, 10));
}
if (expression = "multiplication") {
multiplicationValue1 = window.prompt("Value1: ");
multiplicationValue2 = window.prompt("Value2: ");
Output(parseInt(multiplicationValue1, 10) * parseInt(multiplicationValue2, 10));
}
if (expression = "divison") {
divisionValue1 = window.prompt("Value1: ");
divisionValue2 = window.prompt("Value2: ");
Output(parseInt(divisionValue1, 10) / parseInt(divisionValue2, 10));
}
谢谢。
您应该使用 ==
或 ===
来比较值。单个=
用于赋值。
if (expression === "addition") { // Do something... }
expression = window.prompt("what expression do you want to use? addition/subtraction/multiplication or divison");
if (expression == "addition") {
additionValue1 = window.prompt("Value1: ");
additionValue2 = window.prompt("Value2: ");
Output(parseInt(additionValue1, 10) + parseInt(additionValue2, 10));
}
if (expression == "subtraction") {
subtractionValue1 = window.prompt("Value1: ");
subtractionValue2 = window.prompt("Value2: ");
Output(parseInt(subtractionValue1, 10) - parseInt(subtractionValue2, 10));
}
if (expression == "multiplication") {
multiplicationValue1 = window.prompt("Value1: ");
multiplicationValue2 = window.prompt("Value2: ");
Output(parseInt(multiplicationValue1, 10) * parseInt(multiplicationValue2, 10));
}
if (expression == "divison") {
divisionValue1 = window.prompt("Value1: ");
divisionValue2 = window.prompt("Value2: ");
Output(parseInt(divisionValue1, 10) / parseInt(divisionValue2, 10));
}
您正在分配变量而不是比较它。赋值运算符是=,你要==进行比较。
我还在提示中的 Value1: 之后添加了一个 space ,否则你要求的是未定义的。
(我假设你想在除法结果上使用 parseInt,否则它将是一个浮点数。)
我正在构建一个计算器应用程序,当我想使用另一个数学表达式时,它不起作用。我想做减法,它做加法,就好像程序没看到其他if语句一样。
function Output(a) {
window.alert(a)
}
expression = window.prompt("what expression do you want to use? addition/subtraction/multiplication or divison");
if (expression = "addition") {
additionValue1 = window.prompt("Value1: ");
additionValue2 = window.prompt("Value2: ");
Output(parseInt(additionValue1, 10) + parseInt(additionValue2, 10));
}
if (expression = "subtraction") {
subtractionValue1 = window.prompt("Value1: ");
subtractionValue2 = window.prompt("Value2: ");
Output(parseInt(subtractionValue1, 10) - parseInt(subtractionValue2, 10));
}
if (expression = "multiplication") {
multiplicationValue1 = window.prompt("Value1: ");
multiplicationValue2 = window.prompt("Value2: ");
Output(parseInt(multiplicationValue1, 10) * parseInt(multiplicationValue2, 10));
}
if (expression = "divison") {
divisionValue1 = window.prompt("Value1: ");
divisionValue2 = window.prompt("Value2: ");
Output(parseInt(divisionValue1, 10) / parseInt(divisionValue2, 10));
}
谢谢。
您应该使用 ==
或 ===
来比较值。单个=
用于赋值。
if (expression === "addition") { // Do something... }
expression = window.prompt("what expression do you want to use? addition/subtraction/multiplication or divison");
if (expression == "addition") {
additionValue1 = window.prompt("Value1: ");
additionValue2 = window.prompt("Value2: ");
Output(parseInt(additionValue1, 10) + parseInt(additionValue2, 10));
}
if (expression == "subtraction") {
subtractionValue1 = window.prompt("Value1: ");
subtractionValue2 = window.prompt("Value2: ");
Output(parseInt(subtractionValue1, 10) - parseInt(subtractionValue2, 10));
}
if (expression == "multiplication") {
multiplicationValue1 = window.prompt("Value1: ");
multiplicationValue2 = window.prompt("Value2: ");
Output(parseInt(multiplicationValue1, 10) * parseInt(multiplicationValue2, 10));
}
if (expression == "divison") {
divisionValue1 = window.prompt("Value1: ");
divisionValue2 = window.prompt("Value2: ");
Output(parseInt(divisionValue1, 10) / parseInt(divisionValue2, 10));
}
您正在分配变量而不是比较它。赋值运算符是=,你要==进行比较。 我还在提示中的 Value1: 之后添加了一个 space ,否则你要求的是未定义的。 (我假设你想在除法结果上使用 parseInt,否则它将是一个浮点数。)