该程序继续执行其他 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,否则它将是一个浮点数。)