我对JavaScript非常陌生。我一直在努力想办法解决这个问题,但似乎没有什么效果。操作人员似乎不稳定。例如,如果我减去6-6,它仍然会给我12,也就是说,运算符只在所有情况下加。
inp1 = prompt("Enter in a number");
inp1 = Number.parseInt(inp1);
let js1 = inp1;
op = prompt("Enter an operator");
op = ["+", "-", "*", "/"];
inp2 = prompt("Enter another number");
inp2 = Number.parseInt(inp2);
let js2 = inp2;
function addition(x, y) {
return (x + y);
}
function subtraction(x, y) {
return (x - y);
}
function multiplication(x, y) {
return (x * y);
}
function division(x, y) {
return (x / y);
}
if (op = "+") {
console.log(addition(js1, js1));
}
else if (op = "-") {
console.log(subtraction(js1, js2));
}
else if (op = "*") {
console.log(multiplication(js1, js2));
}
else if (op = "/") {
console.log(division(js1, js2));
}
else {
console.log("Sorry! An Error has occurred");
}
发布于 2022-08-28 20:33:11
第一个问题是
op = ["+", "-", "*", "/"];
因此,在您从用户那里获得运算符之后,将其分配给一个新值。
而且还
if (op = "+") {}
else if (op = "-"){}
这是赋值运算符,而不是比较器。相反,请使用:
if (op === "+")
发布于 2022-08-28 20:30:48
您不是在if语句中比较它们,而是要分配它们。你要找的是:
if(op === "+") {
//add
} else if(op === "-") {
//subtract
}
您还应该查看JavaScripts比较https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness的不同方法。
https://stackoverflow.com/questions/73522008
复制相似问题