js函数实现简单计算器
实现简单计算器的JavaScript函数
以下是实现简单计算器的JavaScript函数示例,支持加、减、乘、除基本运算:

function calculator(num1, operator, num2) {
switch(operator) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
if(num2 === 0) {
return "Error: Division by zero";
}
return num1 / num2;
default:
return "Error: Invalid operator";
}
}
使用示例
console.log(calculator(5, '+', 3)); // 输出: 8
console.log(calculator(10, '/', 2)); // 输出: 5
console.log(calculator(7, '*', 6)); // 输出: 42
console.log(calculator(8, '-', 9)); // 输出: -1
扩展功能:支持连续运算
如果需要支持连续运算,可以使用以下改进版本:
function advancedCalculator(expression) {
try {
return eval(expression);
} catch(e) {
return "Error: Invalid expression";
}
}
注意事项
使用eval函数时需注意安全性问题,因为它会执行任何传入的JavaScript代码。在生产环境中,建议使用更安全的替代方案,如数学表达式解析库。
改进方案:带验证的计算器
function safeCalculator(expression) {
const validChars = /^[\d+\-*/().\s]+$/;
if(!validChars.test(expression)) {
return "Error: Invalid characters in expression";
}
try {
const result = new Function('return ' + expression)();
if(isNaN(result)) {
return "Error: Invalid expression";
}
return result;
} catch(e) {
return "Error: Invalid expression";
}
}
浏览器端实现示例
<input type="text" id="calcInput">
<button onclick="calculate()">Calculate</button>
<script>
function calculate() {
const input = document.getElementById('calcInput').value;
const result = safeCalculator(input);
alert(result);
}
</script>







