我正在构建一个计算器应用程序,当我想使用另一个数学表达式时,它就不起作用了。我想做减法,它做加法,就好像程序没有看到其他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));
}
谢谢。
发布于 2022-05-04 14:05:35
您应该使用==或===来比较值。单个=是用于分配任务的。
if (expression === "addition") { // Do something... }发布于 2022-05-04 14:09:55
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之后添加了一个空格:在提示中,否则您将请求未定义的内容。(我假设您希望在除法结果上使用parseInt,否则它将是一个浮点数。)
https://stackoverflow.com/questions/72114321
复制相似问题