Javascript 税务功能问题(If/Else语句)

Javascript 税务功能问题(If/Else语句),javascript,Javascript,我的功能有问题。当我输入calculateTaxRate(10000,“联合”)时,它没有给出10%的正确答案。它返回“最好打电话给会计师”。我不知道为什么这种情况还在发生。如果您能帮我解释一下,我将不胜感激 function calculateTaxRate(salary, status) { if (status !== ("single" || "joint") || (salary > 74900)) { return "Better call an accountant"

我的功能有问题。当我输入calculateTaxRate(10000,“联合”)时,它没有给出10%的正确答案。它返回“最好打电话给会计师”。我不知道为什么这种情况还在发生。如果您能帮我解释一下,我将不胜感激

function calculateTaxRate(salary, status) {
if (status !== ("single" || "joint") || (salary > 74900)) {
    return "Better call an accountant";
} else if (status == "single") {
    if (salary <= 9225) {
        return "10%";
    } else if (9226 <= salary && salary <= 37450) {
        return "15%";
    } else {
        return "25%";
    }
}
if (status == "joint") {
    if (0 <= salary && salary <= 18450) {
        return "10%";
    } else if (18451 <= salary && salary <= $74, 900) {
        return "15%";
    }
}
}
函数计算汇率(工资、状态){
如果(状态!=(“单身”| |“联合”)| |(工资>74900)){
返回“最好打电话给会计”;
}否则,如果(状态==“单一”){
如果(工资代码
(“单身”| |“联合”)
计算结果为“单身”

写为
expr1 | | expr2
的OR条件如果可以转换为true,则返回expr1;否则返回expr2。例如:

true || false = true
false || true = true
"Single" || false = "Single"
false || "Joint" = "Joint"
IF条件应写为:

if ((status !== "single" && status !== "joint") || (salary > 74900)) {
请参阅Mozilla开发者文档中的代码
(“single”| |“joint”)
计算结果为“single”

写为
expr1 | | expr2
的OR条件如果可以转换为true,则返回expr1;否则返回expr2。例如:

true || false = true
false || true = true
"Single" || false = "Single"
false || "Joint" = "Joint"
IF条件应写为:

if ((status !== "single" && status !== "joint") || (salary > 74900)) {
请参阅Mozilla开发者文档中的状态!==(“single”| |“joint”)
并不是你想的那样-你需要学习javascript语法-它不是无效的,但是你本质上是在检查状态!==“single”只检查状态!==(“single”|“joint”)不会做你想做的事-你需要学习javascript语法-它不是无效的,但你基本上只是在检查
如果状态!=“single”