首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JS计算器坏了。操作人员无法正常工作。每次我运行calc时,它只会添加

JS计算器坏了。操作人员无法正常工作。每次我运行calc时,它只会添加
EN

Stack Overflow用户
提问于 2022-08-28 20:23:59
回答 2查看 40关注 0票数 0

我对JavaScript非常陌生。我一直在努力想办法解决这个问题,但似乎没有什么效果。操作人员似乎不稳定。例如,如果我减去6-6,它仍然会给我12,也就是说,运算符只在所有情况下加。

代码语言:javascript
运行
复制
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");
}
EN

回答 2

Stack Overflow用户

发布于 2022-08-28 20:33:11

第一个问题是

代码语言:javascript
运行
复制
op = ["+", "-", "*", "/"];

因此,在您从用户那里获得运算符之后,将其分配给一个新值。

而且还

代码语言:javascript
运行
复制
if (op = "+") {}
else if (op = "-"){}

这是赋值运算符,而不是比较器。相反,请使用:

代码语言:javascript
运行
复制
if (op === "+")
票数 3
EN

Stack Overflow用户

发布于 2022-08-28 20:30:48

您不是在if语句中比较它们,而是要分配它们。你要找的是:

代码语言:javascript
运行
复制
if(op === "+") {
   //add
} else if(op === "-") {
   //subtract
} 

您还应该查看JavaScripts比较https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness的不同方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73522008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档