帮我检查一下这段代码unction calculate(operator, num1, num2) { let result; switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; default: console.log('Invalid operator!'); break; } return result; }
时间: 2024-04-15 21:27:40 浏览: 89
你的代码几乎没有问题,只是在处理除法运算时,没有考虑到除数为0的情况。如果除数为0,JavaScript会返回Infinity或者-Infinity,这可能不是你想要的结果。为了避免这种情况,可以添加一个条件判断来处理除数为0的情况。
以下是修改后的代码:
```javascript
function calculate(operator, num1, num2) {
let result;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 !== 0) {
result = num1 / num2;
} else {
console.log('Division by zero is not allowed!');
}
break;
default:
console.log('Invalid operator!');
break;
}
return result;
}
```
这样,当除数为0时,会输出一条错误信息而不是返回一个不合理的结果。希望这次能满足你的要求!如果还有其他问题,请随时向我提问。
阅读全文